繁体   English   中英

带有对象和泛型列表的构造函数

[英]Constructor with list of objects and generics

我有一个这样的构造函数:

public SomeObject(int len, float f, ArrayList<CustomObjectA> list) {  
  // code for constructor  
  this.list = list;
}  

我想添加另一个这样的构造函数:

public SomeObject(int len, float f, ArrayList<CustomObjectB> listB) {  
  // code for constructor   
  this.listB = listB;  
}  

我不能,因为我得到了可以理解的擦除错误。
解决此问题的最佳方法是什么?
我不想让它成为ArrayList<Object>的参数,并且我希望有2个单独的列表对象作为成员变量,而不是1个(我在谈论listlistB

使用静态工厂方法而不是构造函数,并为每个工厂方法指定不同的名称。

另外,使用List而不是ArrayList。

private List<CustomObjectA> listOfAs;
private List<CustomObjectB> listOfBs;

private SomeObject(int len, float f, List<CustomObjectA> listOfAs, List<CustomObjectA> listOfBs) {
    // ...
}

public static SomeObject createFromAs(int len, float f, List<CustomObjectA> list) {
    // construct the SomeObject; return it
}

public static SomeObject createFromBs(int len, float f, List<CustomObjectB> list) {
    // construct the SomeObject; return it
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM