返回调用它的对象的方法

时间:2015-06-23 02:20:40

标签: java

我将如何创建这样的方法? 例如,我当前正在处理的方法返回该方法的类正在实现的接口的对象。该方法的功能是将一个元素添加到列表中(*现在该方法返回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;
}

2 个答案:

答案 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;