大家好!我已经使用这个项目来记录棒球赛季,并且我在使用 ArrayList 时遇到了这个问题:
. . .
private ArrayList<Team> list1 = new ArrayList<Team>();
Team something = new Team("Somename");
Team somethingelse = new Team("Someothername");
然后我使用了一些设置器,例如:
something.setPoints(1);
somethingelse.setPoints(2);
接着:
list1.add(something);
list1.add(somethingelse);
但问题来了:
int help1 = list1.indexOf(something);
System.out.println(help1);
返回 -1
但列表包含这些对象:
for (Team d: list1) {
System.out.println(d);
}
输出是我写给 Team 类的 toString() 方法......
然后我尝试了
ArrayList<Integer> list2 = new ArrayList<Integer>();
list2.add(1);
list2.add(2);
int help2 = list2.indexOf(1);
System.out.println(help2);
返回 0
所以基本上我要问的是,当列表包含具有多个值的对象时,使用 indexOf 的正确方法是什么?