- Meggyi001: Anya, tudsz segíteni a matekban?....Nem érek rá kisfiam, majd segít a ChatGPT...
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- droidic: Időutazás floppyval: A 486-os visszavág PCem-men
- Mr Dini: Mindent a StreamSharkról!
- Argos: Adjátok vissza a netet! - szeretnék elaludni!
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Hirdetés
Új hozzászólás Aktív témák
-
Szmeby
tag
válasz
Ablakos #11866 üzenetére
A
contains
teljeskörűen működik. Ha belenézel azObject
osztályba (ami minden osztály őse), láthatod, hogy azequals
metódus referenciák egyenlőségét vizsgálja - lévén más információja nincs az osztályról. Azt csinálja, mint amit az == operátor.Tehát az
equals
és egyben acontains
alapértelmezett működése az, hogy csak akkor tekint két objektumot egyenlőnek / a lista egy tagjának, ha az az objektum ugyanaz az objektum, mondjuk úgy, hogy ugyanazon a memóriacímen található adathalmaz.Abban a pillanatban, hogy kiadod a
new
utasítást, a jvm egy vadonatúj objektumot fog gyártani neked. Még ha ugyanazt a szöveget adod is meg neki a könyv címe paraméterben, még ha ugyanaz az évszám, még ha látszólag ugyanúgy is néz ki az az objektum, mint egy másik, a referenciájuk eltér, hiszen anew
utasítással ezt kérted a jvm-től, egy új objektumot.A referencia alapú összehasonlítás időnként hasznos dolog, de a modelljeinkben többnyire nem ez a legjobb megoldás. Ezért készítünk az objektumainknak saját
equals
t, amikor azokat egymással össze akarjuk hasonlítani, és azt várjuk el tőle, hogy egyenlőnek tekintsen két könyv objektumot, ahol a cím és az évszám egyenlő. Ezt sajnos meg kell írnod, mert a jáva túl buta, hogy kitalálja a programozó gondolatait, elvárásait.
(És készítünk nekik saját hashcode implementációt is, amikor azokat mondjuk HashSet-ben kívánjuk gyűjtögetni, vagy HashMap kulcsaként akarjuk felhasználni.)Tehát a
Book b1 = new Book("a", 1);
és aBook b2 = new Book("a", 1);
eltérő referenciával bír, az alapértelmezettequals
szerint ők különböző objektumok. Míg aBook b3 = b1;
ugyanazzal a referenciával bír, mint a b1 objektumod, az alapértelmezettequals
szerint ők ugyanazok az objektumok.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- eBay
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Bluetooth hangszórók
- OLED TV topic
- Sony Xperia 1 VII - Látod-e, esteledik
- Filmvilág
- Vicces videók
- Diablo IV
- Képen az iPhone 17 Pro kétféle akkumulátora
- Meggyi001: Anya, tudsz segíteni a matekban?....Nem érek rá kisfiam, majd segít a ChatGPT...
- További aktív témák...
- Garanciális Gamer Számítógép, PC (GTX 1070 8GB, I7-7700, 16GB RAM, SDD) Beszámítás Posta ok (32)
- iPhone 11 128GB fekete, gyárilag független, újszerű karcmentes állapot, 87% akku, legjobb ár!
- iPhone 12 128GB FEHÉR, gyárilag független, újszerű karcmentes állapot, 94% akku, doboz, legjobb ár!
- iPhone 12 128GB fekete, gyárilag független, karcmentes kijelző szép állapot, 86% akku, legjobb ár!
- Félkonfig Asus z690, i7-12700k, 4x8gb 4400mhz, 1tb Ssd,
- Epson Workforce DS-530II dokumentumszkenner
- REFURBISHED és ÚJ - HP USB-C/A Universal Dock G2 docking station (5TW13AA) (DisplayLink)
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Samsung Galaxy S23 Ultra 256GB Kártyafüggetlen 1Év Garanciával
- Olcsó Gamer PC-Számítógép! Csere-Beszámítás! Xeon 5650X / GTX 1650 / 24GB DDR3 / 250SSD+500HDD
Állásajánlatok
Cég: FOTC
Város: Budapest