Ich bekomme nicht die richtige Antwort, wenn ich versuche, indexOf() einer ArrayList zu verwenden, die aus benutzerdefinierten Objekten besteht. Hier ist der Code, der eines der Objekte erstellt:indexOf() für ArrayList von benutzerdefinierten Objekten funktioniert nicht
State kansas = new State("KS", 5570.81, 2000)
Also, der Name des Objekts „Kansas“
Hier ist der Code, der die Arraylist erstellt und fügt das Objekt:
ArrayList<State> allStates = new ArrayList<State>();
allStates.add(kansas);
Und hier ist der Code, den ich versuche, den Index dieses Objekt zu finden zu verwenden:
System.out.println(allStates.indexOf(kansas));
Dies ist Punkt, an dem mein Compiler (Eclipse) mir ein rotes X zeigt, das anzeigt, dass ein Problem mit meinem Code vorliegt und das Problem ist, dass es 'Kansas' nicht erkennt. Also habe ich das versucht:
String s = "kansas";
System.out.println(allStates.indexOf(s));
und es wird ausgeführt, aber das Ergebnis ist -1.
Ich rufe eine Methode aus einer anderen Klasse auf, um die ArrayList zu erstellen, anstatt sie in derselben Klasse wie meine Hauptmethode zu erstellen, aber ich bin neu genug, um zu programmieren, dass ich nicht sicher bin, ob ich dort bin falsch gehen. Doch für das Programm, um die ich Arbeit schreibe, muss ich Daten über jeden der Staat Objekte gespeichert haben, so dass ich es aus dem Hauptverfahren
jede Beratung zugreifen können.?
* Dies ist mein erstes Mal eine Frage zu stellen und ich war mir nicht sicher, wie viel Detail zu gehen, also wenn ich relevante Informationen vermisse, lass es mich wissen :)
'String' ist kein' State', werden Sie eine gewisse Art von Filterverfahren schreiben müssen, die über die 'list' laufen kann und vergleichen Sie die' State's Namen mit dem '' String' – MadProgrammer