我正在制作一个食品订购应用程序,我被卡在两者之间。当我创建类的构造函数时,在输入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;
}
}
答案 0 :(得分:0)
您的IDE可能会告诉您以下初始化是多余的,而不是字段本身。
private List<Order> listData = new ArrayList<>();
这个想法是,您只有一个构造函数,并且该构造函数一直期望List<Order>
。这意味着每次创建该类的实例时,您将能够使用您提供的唯一构造函数,其中listData
字段将具有唯一构造函数的第一个参数的值,因此存在无需像这样初始化字段。这就是为什么您会收到“冗余初始化”警告的原因。
如果您想将listData
初始化为空的ArrayList
,则可以提供一个不处理listData
字段的构造函数。否则,声明private List<Order> listData;
会成功。