- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- Négymagos Xeon(!) CPU LGA775-ös deszkában
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- MasterDeeJay: Asus Q170M-C coffeetime mod!
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- talmida: Változások 2. rész
- Oldman2: A KOReader ebook olvasó program
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
TBG
senior tag
Az egészet nem értem egyébként.
Car car = new Car();
car.addTire(new Tyre(10));
car.addTire(new Tyre(11));Ez a 3 sor megcsinálja azt, amit itt szeretnél tenni...
List<Tyre> carTires = car.getTires();
System.out.println("Before: " + carTires.size());
car.setTires(carTires);Gondolom, azt vártad, hogy lesz egy 4 elemű listád [10,11,10,11] értékekkel? Vagy mi volt az elképzelés?
Egyébként így működött volna:public class Car {
private List<Tyre> tires = new ArrayList<Tyre>();
public void setTires(List<Tyre> t) {
this.tires.clear();
this.tires.addAll(t);
}
// Egyéb lekérdező metódusok
}
public class CarTest {
public static void main(String[] args) {
Car car = new Car();
car.addTire(new Tyre(10));
car.addTire(new Tyre(11));
List<Tyre> carTires = car.getTires();
System.out.println("Before: " + carTires.size());
Car anotherCar = new Car();
anotherCar.setTires(carTires);
System.out.println("After (1): " + car.getTires().size());
System.out.println("After (2): " + anotherCarTires.size());
} -
WonderCSabo
félisten
A Java mindenhol referenciákat használ (kivéve a primitív típusokat, de itt most nincs olyan). Feltételezem a car.getTires() fv. car.tires listát adja vissza. Mivel referenciákról van szó, ekkor a main lokális változója, a carTires illetve a car.tires mező ugyanarra az objektumra fog mutatni. Ezután átadod a car.setTires(carTires) - el a carTirest, ami törli a belső saját listát. De a carTires is a belső listára mutat, tehát ugyanazt a listát törlöd ki! Ezután hozzáadod a belső listához ugyannak a már üres listának az elemeit, nyilván továbbra is üres marad.
Ez egy ismert jelenség, és direkt kitaláltak rá olyan mintákat, amivel ezt el lehet kerülni. Az egyik ilyen megoldás a defensive copy.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Kutya topik
- Teljes verziós játékok letöltése ingyen
- Futás, futópályák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen alaplapot vegyek?
- Fejhallgató erősítő és DAC topik
- A fociról könnyedén, egy baráti társaságban
- MWC 2026: Részt vesz a Vivo, megmutatják az X300 Ultrát
- Óra topik
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- Bomba ár! HP Elitebook 8570W - i7-3740QM I 16GB I 500GB I 15,6" FHDI Nvidia I Cam I W10 I Garancia
- Bomba ár! HP ZBook 17 - i7-4800MQ I 32GB I 256SSD+750GB I Nvidia I 17,3" FHD I Cam I W10 I Gari!
- Bomba ár! HP ZBook 15 - i7-4800MQ I 16GB I 256GB SSD I Nvidia VGA I 15,6" FHD I Cam I W10 I Gari!
- Xbox Series S játékkonzol
- Bomba ár! Lenovo ThinkPad 13 Gen2 - i5-7G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- BESZÁMÍTÁS! Intel Core i7 6700 4 mag 8 szál processzor garanciával hibátlan működéssel
- iPhone 15 Plus 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4271
- Apple iPhone 14 Plus 128GB sárga használt, karcmentes 97% akku 6 hónap garancia
- HP Elitebook X360 830 G7,Multi-Touch 2 az 1-ben,i5-10310U,16GB DDR4,256GB SSD,WIN11
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
