当我尝试使用由用户定义的对象组成的ArrayList的indexOf()时,我没有得到正确的答案。下面是创建的对象之一代码:indexOf()for ArrayList of user defined objects not working
State kansas = new State("KS", 5570.81, 2000)
所以,对象的名称是“堪萨斯州”
这里是创建ArrayList和添加对象的代码:
ArrayList<State> allStates = new ArrayList<State>();
allStates.add(kansas);
这里是我尝试用它来找到这个对象的指数代码:
System.out.println(allStates.indexOf(kansas));
这是指向我的编译器(Eclipse)向我抛出一个红色的X,表示我的代码有问题,问题是它不识别'堪萨斯'。所以我试过这个:
String s = "kansas";
System.out.println(allStates.indexOf(s));
它会运行,但结果是-1。
我打电话给一个来自不同类的方法来创建ArrayList,而不是在与我的主要方法相同的类中创建它,但我足够新来编码,我不确定这是我的位置去错了。但是,为了为我写工作计划,我需要有关于每个存储,这样我可以从主方法来访问它的国家目标的数据。
有什么建议?
*这是我第一次发布问题,我不确定要进入多少细节,所以如果我错过了相关信息,请让我知道:)
'String'不是'State',你将不得不写某种滤波方法可以遍历'List'并与'String' – MadProgrammer