Hirdetés
- Doky586: SecureBoot kulcsok frissítése (2026 nyara)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- balojazz: Szódakészítés üzembiztosan és olcsón! Figyelem, csak hardcore szódázóknak!
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- gban: Ingyen kellene, de tegnapra
- gban: Meghalt Chuck Norris
- GoodSpeed: Samsung DV90DG52A0ABLE hőszivattyús szárítógép
Új hozzászólás Aktív témák
-
Szmeby
tag
Hogyan lehet vizsgálni, ha egy Objektum példánya létrejött (van, létezik)?
if (myObject != null) {
System.out.println("myObject objektumom létezik, hivogathatom a metódusait");
} else {
System.out.println("myObject objektumom nem létezik, ha ráhívok egy metódusára, NullPointerException a jutalmam");
}vagy
if (myObject instanceof String) {
System.out.println("myObject objektumom létezik, sőt azt is tudom róla, hogy String típusú, így bátran Stringgé castolhatom");
}Ha eleve String típusú a myObject változód, akkor felesleges instanceof-olni.
Pl.:String myObject = "kiskutya";
A bal oldalon jelölve vagyon, hogy ez legalább egy String, és mivel a java erősen típusos nyelv, compile error figyelmeztetne, ha valamit elcsesztél volna.Object myObject = "kiskutya";
Ebben az esetben nem lehetsz teljesen biztos benne, hogy ez egy String (annak ellenére, hogy erről a nyilvánvaló példáról ordít, hogy az), de ha szeretnéd String-ként kezelni, akkor castolnod kell mielőtt meghívod rajta a String osztély metódusait ((String)myObject).isEmpty(); Ha pedig ezt biztonságban szeretnéd elvégezni, akkor a castolás előtt érdemes csekkolni egy instanceof-fal, hogy valóban String van-e benne.
A null nem String, a null nem is Object, a null semmi. Az instanceof mindig false-szal fog visszatérni egy null referenciára, mert a semmiről nem lehet eldönteni annak típusát.És ha létrejött a példány, akkor még lehet null tartalmű, amire hogyan kérdeznétek rá? (azon túl, hogy kiteszed egy lokális változóba, ahogy az előbb írtad (ha nincs más, marad ez a módszer, csak elég bénácskának néz ki a kezdő szememnek))
Ha létrejött a példány, nem lehet null.Kiteheted lokális változóba, ha úgy kényelmes:
String product = info.getProductString();
if (product != null && product.equals("CM STORM INFERNO GAMING MOUSE")) {
System.out.println("match!!!");
}De nem kötelező, használhatod a gettert is újra meg újra:
if (info.getProductString() != null && info.getProductString().equals("CM STORM INFERNO GAMING MOUSE")) {
System.out.println("match!!!");
}De akár meg is mókolhatod a lekérdezéskor, hogy kiküszöböld az API hülyeségeit:
String product = info.getProductString() == null ? "" : info.getProductString(); // ez egy ternáris operátor, egyfajta kompakt if: ha a getter null, akkor üres stringet használ helyette, különben meg a getter által visszaadott nemnull értéket
if (product.equals("CM STORM INFERNO GAMING MOUSE")) {
System.out.println("match!!!");
}A java könyvek, vagy pl. az oracle tutorial relatíve korán elmagyarázza a java objektumok, referenciák, nullitás témakörét, érdemes rászánni azt a kis időt.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Asztalos klub
- Autós topik
- Crimson Desert
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Jó a retró: Chieftec UNI számítógépház
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Nvidia GPU-k jövője - amit tudni vélünk
- Arc Raiders
- Vegyes fogadtatás, erős rajt: 2 millió példánynál a Crimson Desert
- További aktív témák...
- Sony Xperia 1 V - 12GB/256GB Fekete - GYÁRI FÜGGETLEN - 10 HÓ GARI
- Apple Watch Ultra 2 100% akku, full dobozos
- OnePlus 15 - 16GB/512GB Infinite Black - GYÁRI FÜGGETLEN - 3 ÉV GARI + AJÁNDÉKOK
- Lenovo ThinkCentre M720s - i5 8400, 16GB RAM, 250GB SSD, Windows matricával eladó
- Razer Blackwidow v4 mechanikus billentyűzet eladó!
- Azonnali készpénzes AMD Radeon RX 6000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- Magyarország piacvezető szoftver webáruháza
- S21 256/8 dobozában
- 270 - Lenovo Yoga Pro 9 (16IAH10) - Intel Core U9 285H, RTX 5070 (ELKELT)
- 272 - Lenovo Legion Pro 5 (16IAX10H) - Intel Core U9 275HX, RTX 5070Ti (ELKELT)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
