在使用ArrayList时,我有点新鲜.我知道如何使用字符串创建一个ArrayList,我知道如何用Integers创建一个.我想知道,我如何创建一个包含两种类型的ArrayList,例如Doubles和Chars(但没有别的).
这就是我的意思,
ArrayList<double && char> DCList = new ArrayList<double && char>();
Run Code Online (Sandbox Code Playgroud)
显然它不是有效的Java代码,所以我的问题是,我该如何正确表达它?
以下是您的一些事实:
您不能将原始值放在Collection中(泛型类型只能绑定到引用类型)
如果你一定需要把两个charS和doubleS(或Characters和Doubles考虑上述点考虑在内),你需要申报清单包含的至少常见的亚型Character和Double是Object:
List<Object> charsAndDoubles = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)
但是,这不会禁止字符串和整数.
以下是我将如何解决它:
class MyDatatype {
....
}
class MyDatatypeCharVariant extends MyDatatype {
char data;
...
}
class MyDatatypeDoubleVariant extends MyDatatype {
double data;
...
}
Run Code Online (Sandbox Code Playgroud)
然后将列表声明为:
List<MyDatatype> someList = new ArrayList<MyDatatype>();
Run Code Online (Sandbox Code Playgroud)