Hirdetés
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Ú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?:))
- Milyen széket vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Haditechnika, harcászat
- Milyen TV-t vegyek?
- Spórolós topik
- Így tör borsot a Samsung az Apple Vision Pro orra alá
- World of Tanks - MMO
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Renault, Dacia topik
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- IPHONE 16 PRO MAX 256 GB Fehér titán Kártyafüggetlen
- 200 ezerrel ár alatt! A széria királya! A legmaxosabb 5080! Asus rog astral !
- ESZMÉLETLEN JÓ ÁRON MINDEN VAN! Amit csak szeretnél írd meg, szinte biztos hogy van! GARIS ÚJ cuccok
- AMILYEN GAMER PC-t AKARSZ AZT ÉN ÁR ALATT ÖSSZERAKOM NEKED! TELEVAGYOK KOMPONENSEKKEL! ÍRJ BÁTRAN!
- AMILYEN GAMER PC-t AKARSZ AZT ÉN ÁR ALATT ÖSSZERAKOM NEKED! TELEVAGYOK KOMPONENSEKKEL! ÍRJ BÁTRAN!
- BESZÁMÍTÁS! 4TB Western Digital RED Pro SATA HDD meghajtó garanciával hibátlan működéssel
- Bomba ár! HP EliteBook 840 G3 - i7-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- Telefon felvásárlás!! Apple iPhone 16, Apple iPhone 16e, Apple iPhone 16 Plus, Apple iPhone 16 Pro
- iPhone 14 Pro Max 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3522
- Xiaomi 15 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest