onko vektoriluokassa mitään metodia millä voi etsiä onko vektorissa tiettyä oliota? indexof, contains, yms ei vertaa itse olio-osoittimia vaan käyttää olioiden equals-metodia mitä en halua!!!
vektorin alkioiden vertailua
ei equalsia!
3216
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
Pitää tehdä itse, jos moisen (erikoisuuden) haluaa. Alla esimerkki:
--- ESIMERKKI ALKAA ---
public static boolean onkoMukana(Vector vector, Object object) {
for (Object vertailuKohde : vector)
if (object == vertailuKohde)
return true;
return false;
}
--- ESIMERKKI LOPPUU ---
Eli, jos olion luokka, jonka annat contains tai indexOff:n parametriksi, ei ole ylikirjoittanut Object luokan equals metodia, tapahtuu vertailu tällöin vain osoittimien perusteella, koska Object luokan equals -metodi vertailee vain osoittimia.
No tee vaikka for-silmukka, jossa vertaat kaikkiin alkioihin, kunnes se oikea löytyy. En kyllä tajua, miksi kukaan noin haluaisi tehdä. (P.S. käytetty kieli olisi kiva kertoa aina, noita vektoreita on muissakin...)