在Android中创建构造函数后如何修复ArrayList的冗余

时间:2019-01-08 13:46:54

标签: java android

我正在制作一个食品订购应用程序,我被卡在两者之间。当我创建类的构造函数时,在输入this.listData之后,我的ArrayList变得多余了。

public class CartAdapter extends RecyclerView.Adapter<CartViewHolder> {

    private List<Order> listData = new ArrayList<>();

    private Context context;

    public CartAdapter(List<Order> listData, Context context) {
        this.listData = listData;
        this.context = context;
    }
}

1 个答案:

答案 0 :(得分:0)

您的IDE可能会告诉您以下初始化是多余的,而不是字段本身。

private List<Order> listData = new ArrayList<>();

这个想法是,您只有一个构造函数,并且该构造函数一直期望List<Order>。这意味着每次创建该类的实例时,您将能够使用您提供的唯一构造函数,其中listData字段将具有唯一构造函数的第一个参数的值,因此存在无需像这样初始化字段。这就是为什么您会收到“冗余初始化”警告的原因。

如果您想将listData初始化为空的ArrayList,则可以提供一个不处理listData字段的构造函数。否则,声明private List<Order> listData;会成功。