正如你在标题上看到的,我想要一个列表,我可以存储多种类型。类似的东西:
List <String, Integer, Integer> myList;
myList.add("something", 1337, 123);
感谢您的帮助。
答案 0 :(得分:1)
除了List<Object>
之外,您无法向Collection<?>
添加多个不相关的类型。另外,myList.add("something", 1337, 123);
不是有效的语法。
我想你正在加载一些Android适配器,所以我建议创建一个可以将数据包装在其中的类。
public class StringIntInt {
String s;
int i1, i2;
public StringIntInt(String s, int i1, int i2) {
this.s = s;
this.i1 = i1;
this.i2 = i2;
}
}
用例:
List<StringIntInt> myList = new ArrayList<StringIntInt>();
myList.add(new StringIntInt("something", 123, 1337);
答案 1 :(得分:0)
class myClass
{
public String myString;
public Int numb1;
public Int numb2;
}
...
List<myClass> TheList = new List<myClass>;
您可以定义一个包含您的信息的结构或类,然后创建一个List
答案 2 :(得分:0)
我想要一个可以存储多种类型的列表
最简单的方法是:
List <Object> list = new ArrayList<Object>();
list.add("Stringa");
list.add(5);
问题是如果你需要操纵它们,你应该非常注意:
if(list.get(0) instanceof String){
System.out.println(list.get(0));
}
else if(list.get(0) instanceof Integer){
list.set(0, (Integer)list.get(0)+10);
}
但是在这里阅读:
List <String, Integer, Integer> myList;
也许你需要一些类作为元组使用:
public class Trio{
String string;
int value1;
int value2;
public Trio(String string, int value1, int value2) {
this.string = string;
this.value1 = value1;
this.value2 = value2;
}
}
然后使用它:
List<Trio> list = new ArrayList<Trio>();
list.add(new Trio("String", 1, 2);