我将如何创建这样的方法? 例如,我当前正在处理的方法返回该方法的类正在实现的接口的对象。该方法的功能是将一个元素添加到列表中(*现在该方法返回null,因为我不知道如何返回所需的值):
public ListInterface<T> insertFirst(T item) {
Arraylist[0] = item;
return null;
}
实现类的构造函数(* Arraylist,empty和defCap已在类的开头实例化);我假设任何实现接口的类的对象都可以是上面方法的返回值(???);还要注意,从TheList类实例化一个对象初始化变量:
public TheList()
{
Arraylist = (T[]) new Object[defCap];
empty = true;
}
答案 0 :(得分:2)
如果我理解你的问题,
public ListInterface<T> insertFirst(T item) {
Arraylist[0] = item;
return null;
}
应该是
public static <T> List<T> insertFirst(T item) {
List<T> al = new ArrayList<>();
al.add(item);
return al;
}
这是类型为T
的通用方法,它返回List<T>
传入的item
。您还可以使用Collections.singletonList(T)
public static <T> List<T> insertFirst(T item) {
return Collections.singletonList(item);
}
哪个是不可变的,如果你需要一个可变列表,你可以使用我的第一个例子或
public static <T> List<T> insertFirst(T item) {
return new ArrayList<>(Collections.singletonList(item));
}
答案 1 :(得分:0)
this
指的是“当前对象”。要返回它,请使用return this;
。