Я не получаю правильный ответ, когда пытаюсь использовать indexOf() из ArrayList, состоящего из определенных пользователем объектов. Вот код, который создает один из объектов:indexOf() для ArrayList из объектов, не определенных пользователем
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, указывающий на наличие проблемы с моим кодом, и проблема в том, что он не распознает «kansas». Поэтому я пробовал это:
String s = "kansas";
System.out.println(allStates.indexOf(s));
и он будет работать, но результат будет равен -1.
Я вызываю метод из другого класса, чтобы создать ArrayList, а не создавать его в том же классе, что и мой основной метод, но я достаточно новичок в кодировании, что я не уверен, что это где я идет не так. Тем не менее, для того, чтобы программы, которые я пишу на работе, мне нужно иметь данные о каждом из государственных объектов, хранимых таким образом, что я могу получить доступ из главного метода.
Любые советы?
* Это мой первый вопрос, когда я задавал вопросы, и я не был уверен, как много деталей, чтобы уйти, поэтому, если мне не хватает соответствующей информации, пожалуйста, дайте мне знать :)
'String' не' State', вам придется написать какой-то метод фильтрации, который может выполнять итерацию по 'list' и сравнить' имя State's с '' String' – MadProgrammer