Új hozzászólás Aktív témák
-
Szmeby
tag
válasz
Ablakos
#11866
üzenetére
A
containsteljeskörűen működik. Ha belenézel azObjectosztályba (ami minden osztály őse), láthatod, hogy azequalsmetó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 acontainsalapé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
newutasí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 anewutasí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
equalst, 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értelmezettequalsszerint ők különböző objektumok. Míg aBook b3 = b1;ugyanazzal a referenciával bír, mint a b1 objektumod, az alapértelmezettequalsszerint ő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?:))
- Milyen processzort vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Kerékpárosok, bringások ide!
- Új Xeonokkal szorongatná meg az Intel az AMD-t
- Milyen TV-t vegyek?
- mefistofeles: Az elhízás nem akaratgyengeség!
- Samsung Galaxy Felhasználók OFF topicja
- Synology NAS
- Google Chromecast topic
- PayPal
- További aktív témák...
- EATON 5P650iR - UPS - Szünetmentes tápegység
- Lenovo P1 G4 i7-11850H 32Gb ram, 512Gb NVMe, 4K
- új 15 hüvelykes MacBook Air M4 256GB SSD sky blue égkék Apple magyar 1 év garancia
- új Harman Kardon Onyx Studio 9 hordozható Bluetooth hangszóró ezüst 1 év garancia
- Seasonic Focus 750W 80 PLUS Gold / Csavarmatricás / BESZÁMÍTÁS OK!
- Dell USB-C, Thunderbolt 3, TB3, TB4 dokkolók (K20A) WD19TB / WD19TBS / WD22TB4
- Samsung Galaxy S21 5G / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- 3M füldugó 50 pár (100db) eladó
- HIBÁTLAN iPhone 15 Pro 128GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4538
- BESZÁMÍTÁS! 2TB Sandisk Extreme Portable V2 külső SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

