-2

有其他选择吗?(1组)

    class team {
        List<String> team = new ArrayList<String>
        int score = 0;
    }

是否有存储 List 或 Set 'String' 的对象,它可以保存 Integer 的值?

提前致谢。

4

2 回答 2

1

你可能想要的是一种新类型,它同时包含你关心的Stringint你关心的,例如:

public class Score {
    String group;
    int score;
}

...

List<Score> scores = new ArrayList<Score>();

但是,要回答您的原始问题:Stringand之间最窄的常见类型IntegerObject,您可以构造这样的List

List<Object> group = new ArrayList<Object>();
group.add("string");
group.add(1);

当然,这不仅限于StringInteger类型,您可以添加任何类型的对象。

或者,您可以强制您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>();

(这至少是编译时限制的)

你可以对这个类更感兴趣,并让它返回一个正确的转换对象,但我想这取决于你想要使用它的用例。

于 2013-09-21T23:11:01.070 回答
1

听起来您需要一个 Score 对象:

class Score
{
  int points;
  String groupName;
}

然后List<Score>他们中的一个

于 2013-09-21T23:14:47.687 回答