JAVA-ban hogyan lehet egy karakter tömböt úgy nullázni, hogy a hossza nulla legyen?
char[] charArray = {'a','b','c'};
...
charArray = new char[0];
Utolsó válasz a helyes.
Egy nulla hosszúságú tömböt készítesz.
Amúgy érdemes konténereket használnod, ahol van clear() metódus. Meg amúgy is érdemes.
Nos, magát a tömböt ilyen értelemben nem tudod nullázni. A változóban tárolt referenciáját cserélheted le egy másik, 0 hosszúságú array referenciájára, ahogyan a #2 válaszoló is jelezte, a kérdéses array maga azonban nem változik, csak "elveszíted", aztán a GC előbb-utóbb összeszedi.
A nagy piros pont pedig a #3 válaszolót illeti meg; ne használj tömböt, hacsak nem muszáj. Ott a Collections API.
Érdekes, hogy sokan ódzkodnak a Collections konténereitől, merthogy "költséges" vagy "feleslegesen nehézsúlyú".
Ez a kérdés egy tökéletes példa arra, hogy mennyire pont az ellenkezője az igaz ennek.
#6: Pacsi!
"feleslegesen nehézsúlyú" - A premature optimization kifejezés jutott hirtelen eszembe. Marha rossz szokás.
Nem a Collectionöktől kellene ódzkodni, hanem az olyan alacsonyszintű, mind az olvashatóságot, mind a karbantarthatóságot rontó, rugalmatlan constructoktól, mint amilyen a tömb is.
Teljesen off, de ugyanígy kerülendő a switch-case, vagy az ezzel kvázi egyenértékű if-(elseif-)else használata is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!