Hallo,
ich hab eine ArrayList<MyObject>.
MyObject beinhaltet unter anderem ein SocketChannel Objekt.
Beim MyObject hab ich die Methoden euqals und hashcode überschrieben und gebe den hascode vom SocketChannel zurück, bzw vergleiche bei euals mit socketchannel.equals.
Jetzt bekomme ich zB beim Server einen SocketChannel bei ner read-Aktion und möchte mir das dazugehörige MyObject raussuchen.
Also: arraylist.get(arraylist.indexOf(socketchannel))
was ja jetzt gehen müsste. Dummerweise liefert mir indexOf immer -1.
Das Objekt ist definitiv drin, hab ich beim Debuggen geschaut.
Wenn ich mir dieses Objekt über den Inde direkt hol, zum probieren, und die Methode equals(socketchannel) aufrufe, bringt diese true.
Die hashcodes dieses MyObjects und des socketchannels sind auch identisch.
Was kann es noch sein?
ich hab eine ArrayList<MyObject>.
MyObject beinhaltet unter anderem ein SocketChannel Objekt.
Beim MyObject hab ich die Methoden euqals und hashcode überschrieben und gebe den hascode vom SocketChannel zurück, bzw vergleiche bei euals mit socketchannel.equals.
Jetzt bekomme ich zB beim Server einen SocketChannel bei ner read-Aktion und möchte mir das dazugehörige MyObject raussuchen.
Also: arraylist.get(arraylist.indexOf(socketchannel))
was ja jetzt gehen müsste. Dummerweise liefert mir indexOf immer -1.
Das Objekt ist definitiv drin, hab ich beim Debuggen geschaut.
Wenn ich mir dieses Objekt über den Inde direkt hol, zum probieren, und die Methode equals(socketchannel) aufrufe, bringt diese true.
Die hashcodes dieses MyObjects und des socketchannels sind auch identisch.
Was kann es noch sein?