还有其他选择吗? (1组)
class team {
List<String> team = new ArrayList<String>
int score = 0;
}
是否有一个存储List或Set'String'的对象,它可以保存Integer的值?
提前致谢。
答案 0 :(得分:1)
您可能需要的是一种同时包含您关注的String
和int
的新类型,例如:
public class Score {
String group;
int score;
}
...
List<Score> scores = new ArrayList<Score>();
要回答原始问题:String
和Integer
之间最窄的常见类型是Object
,您可以构建这样的List
:
List<Object> group = new ArrayList<Object>();
group.add("string");
group.add(1);
当然,这不仅限于String
和Integer
类型,您可以添加任何类型的对象。
或者,您可以将Integer
强制转换为String
:
String someNumber = String.valueOf(1);
或构建一个限制性更强的新类,并充当一种联合:
public class StringOrInteger {
private final Object value;
public StringOrInteger(String string) {
value = string;
}
public StringOrInteger(Integer integer) {
value = integer;
}
public Object getValue() {
return value;
}
}
...然后列出这些:
List<StringOrInteger> group = new ArrayList<StringOrInteger>();
(至少是编译时限制)
你可以对这个类变得更加漂亮,并使它返回一个正确转换的对象,但我想这取决于你想要使用它的用例。
答案 1 :(得分:1)
听起来你需要一个Score对象:
class Score
{
int points;
String groupName;
}
然后是List<Score>
他们