Új hozzászólás Aktív témák
-
thon73
tag
egyik = textResult; egyik és textResult is ugyanarra a stringre mutat (legyen stringA)
egyik = Integer.toString(Integer.parseInt(egyik)); textResult változatlan, de egyik már a toString által létrehozott új stringre mutat. (Ami tartalmazhat azonos szöveget stringA-val) Ez legyen tehát stringB."egyik == textResult" az ugyanaz, mint stringA == stringB, vagyis soha nem lesz igaz. textResult.equals(egyik) megoldás segíthet, de miért nem számolsz inkább integerekkel az átalakítás után?
A masik=egyik; utasítás viszont a fenti ellentéte, hiszen ettől kezdve mind a kettő ugyanarra a stringA-ra mutat, tehát értékük egyenlő.
Java-ban ezt egy picit nehéz megérteni, mert el van rejtve. A C pl. sokkal jobban rákényszeríti az embert a címaritmetika elsajátítására.
A String alapvetően egy Objektum, amely valahol egy komplex adathalmaz a memóriában.
Pl. String string = "Én egy adathalmaz vagyok"; utasításban lesz a memóriában egy ilyen mondat.
Ezzel szemben a "változó", amivel azonosítjuk a stringet, valójában egy mutató, ami erre az adathalmazra mutat. String esetén az adathalmaz final, vagyis nem változtatható meg, de a string nevű mutató természetesen mutathat más halmazra, ha új értéket kap.
Te azt hasonlítod össze, hogy a két mutató ugyanoda mutat-e, ahelyett, hogy a két mutató által mutatott adatokat hasonlítanád össze.
Új hozzászólás Aktív témák
- Apple MacBook Air 13 M1 8GB / 256GB ezüst
- Xiaomi 15 Black 12/512GB használt 6 hónap garancia
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4662, 90% AKKSI
- HIBÁTLAN iPhone XR 64GB Red-1 ÉV GARANCIA - Kártyafüggetlen, MS4490,100% Akksi
- Beszámítás! Intel Core i7 4770K 4 mag 8 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
