Keresés

Új hozzászólás Aktív témák

  • thon73
    tag

    Közben eddig jutottam:

    Object result = null;
    ...
    result = getPrimitiveLong(); // long visszatérési érték
    // másutt
    result = getLong(); // Long visszatérési érték
    ...
    result = (long)result & 0xFFFFFFFFL;

    Ha itt (Long)-ot írok a (long) helyett, az hülyeség? Aritmetikai műveletet csak primitivek csinálnak? És ezt: &=, gondolom, felejtsem el.
    Egyébként a fenti jó.

    Amikor viszont ezt írom:
    result = (long)result & Character.MAX_VALUE;
    Akkor azt mondja, hogy "Reports pointless bitwise expressions..."
    Ez miért van? Nem long-ra alakít mindent, ha az egyik long??

    Bocs, hogy ennyit kérdezek, de wrapper osztályt idáig tényleg csak wrapper-ként használtam, és nem dolgoztam vele.

    A Long Object "lebutítását" csak így tudtam megoldani:

    Object result = getLongValue();
    result = (long) result & (long) Character.MAX_VALUE;

    Működni működik, csak nem tűnik túl szépnek.

    Viszont egy lépéssel később megint elakadtam. A "lebutított" értéket át is szeretném pakolni egy másik wrapper osztályba. ((Egy univerzális feldolgozó Object-ként kapja meg az értékeket ((Long a numerikus és String a Stringek számára), és különböző átalakítások, ellenőrzések után ezt kellene visszaadnia, csak éppen a kívánt méretnek megfelelő wrapper osztályba helyezve. Pl. Objekctként numerikus Long érték -> Objectként numerikus Character érték.))

    Hogyan tudok egy Objectet, ami bizonyosan egy Long értéket tartalmaz, a lehető legegyszerűbben egy olyan Object-té alakítani, ami Character-t tartalmaz? ((A fordító vagy feleslegesnek látja a próbálkozásaimat, vagy hibaüzenetekkel bombáz.))

Új hozzászólás Aktív témák