Hogyan lehet hosszút int-re konvertálni Java-ban

Hogyan Lehet Hosszut Int Re Konvertalni Java Ban



A Java-ban előfordulhatnak bizonyos helyzetek, amikor a fejlesztőnek hatékonyan kell memóriát takarítania. Például a viszonylag kisebb értéktartománnyal rendelkező adattípus hozzárendelése vagy a plusz értékektől való megszabadulás. Ilyen esetekben a „ hosszú ' nak nek ' int” A Java programban az aritmetikai műveletek egyszerűsítésével, a kód bonyolultságával lép életbe, és viszonylag rövidebb végrehajtási időt vesz igénybe.

Ez a cikk a „long” „int”-re konvertálását tárgyalja Java nyelven.

Mi a „long” és „int” a Java nyelven?

A ' hosszú ' írja be a Java nyelven a ' -9223372036854775808 ' nak nek ' 922337203685477580 'és ki van osztva' 64 ” biteket. A ' int A 'típus azonban a ' 32 ' bitek a következőtől kezdve: ' -2147483648 ' nak nek ' 2147483647 ”. Ez azt jelenti, hogy tetszőleges számú ' int ' típusok könnyen támogathatók egy ' hosszú ” típusú, de ez nem mindig van így.







Hogyan lehet „hosszú”-t „int”-re konvertálni Java használatával?

Átalakít ' hosszú ' nak nek ' int ” Java nyelven alkalmazza a következő megközelítéseket:



1. megközelítés: Hosszú konvertálása int-re Java nyelven a „Math.toIntExact()” metódussal

A ' Math.toIntExact() ” metódus a Java-ban a „ int ' érték a megadott ' hosszú ” érvelést. Ezzel a módszerrel egyszerűen átadható a „ hosszú ” értéket argumentumként, és egész számként adja vissza.



Szintaxis





Math . Pontosan ( hosszú val )

Ebben a szintaxisban a „ hosszú val ' arra az értékre utal, amelyet vissza kell adni, mint ' int ”.

Példa
Tekintsük át a következő példát:



nyilvános osztály longtoint2 {
nyilvános statikus üres fő- ( Húr [ ] args ) {
hosszú választás 1 = 8624675L ;
hosszú val2 = 3482398L ;
int updateVal1 = Math . Pontosan ( választás 1 ) ;
int updVal2 = Math . Pontosan ( val2 ) ;
Rendszer. ki . println ( 'Az egész érték: ' + updateVal1 ) ;
Rendszer. ki . println ( 'Az egész érték: ' + updVal2 ) ;
}
}

Ebben a kódrészletben hajtsa végre a következő lépéseket:

  • Először inicializálja a két ' hosszú ” értékeket.
  • Jegyzet: A megadott ' L ' az értékekben képviseli és megkülönbözteti a ' hosszú ' értékek innen: ' int ” értékeket.
  • Ezt követően alkalmazza a „ Math.toIntExact() ” metódust kétszer, és mindkét inicializált hosszú értéket felhalmozza paramétereként, hogy egész számokká konvertálja azokat.
  • Végül naplózza a konvertált egész értékeket a konzolon.

Kimenet

A fenti eredményben elemezhető, hogy a megfelelő egész értékek jelennek meg.

Jegyzet: A konverziós (hosszútól int-re) folyamat jól működik, ha a „ hosszú ' kisebb vagy egyenlő, mint a '' maximális értéke int ”, azaz (2147483647). A másik esetben hiba történik, és adatvesztés is előfordulhat.

Demonstráció
Figyeljük meg a tárgyalt koncepciót, ami a korlátozáshoz vezet:

A fenti példában egyszerűen növelje az utóbbit ' hosszú ” értékét, és hajtsa végre az átalakítást. Ez oda vezet, hogy találkozunk a „ Egész szám túlcsordulás ' korlátozás, mivel az átváltott érték meghaladja a ' int ” max limit.

2. megközelítés: Hosszú konvertálása int-re Java nyelven a „Narrow Typecasting” használatával

' Typecasting ” az egyik primitív adattípus értékének egy másikhoz való hozzárendelésének felel meg. Ebben az esetben a „ szűkülő típusöntés ” lép életbe, mivel a magasabb adattípus, azaz a „ hosszú ' átalakul az alsó adattípusba ' int ”. Ezt úgy érhetjük el, hogy egyszerűen zárójelbe helyezzük az átalakítandó értéket, majd a kívánt típust.

Példa
A következő példa a tárgyalt koncepciót magyarázza:

nyilvános osztály longtoint {
nyilvános statikus üres fő- ( Húr [ ] args ) {
hosszú választás 1 = 647467L ;
hosszú val2 = 348 239L ;
int updateVal1 = ( int ) választás 1 ;
int updVal2 = ( int ) val2 ;
Rendszer. ki . println ( 'Az egész érték: ' + updateVal1 ) ;
Rendszer. ki . println ( 'Az egész érték: ' + updVal2 ) ;
}
}

A fenti kódsorokban:

  • Hasonlóképpen inicializálja a két ' hosszú ” értékeket.
  • A következő lépésben alkalmazza a „ keskeny típusöntés ” megközelítést úgy, hogy a konvertálandó értéket, majd a kívánt típust, azaz: „ int ”.
  • Végül jelenítse meg a konvertált int ” értékeket a konzolon.

Kimenet

Ebben a kimenetben látható, hogy a „ hosszú ' értékeket '' értékre konvertálunk int ” értékeket, megfelelően.

3. megközelítés: A hosszú objektum konvertálása int-re Java nyelven az „intValue()” metódussal

A ' intValue() ” metódus a Java-ban a kapcsolódó szám értékét adja vissza a következő formában int ”. Ezzel a módszerrel egyszerűen átalakítható a kapcsolódó hosszú ' tárgyakat ” egész számokká.

Példa
Az átalakítás végrehajtásához kövesse az alábbi példát:

nyilvános osztály longtoint3 {
nyilvános statikus üres fő- ( Húr [ ] args ) {
Hosszú val1 = új Hosszú ( 8624675L ) ;
Hosszú val2 = új Hosszú ( 3482398L ) ;
int updateVal1 = választás 1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
Rendszer. ki . println ( 'Az egész érték: ' + updateVal1 ) ;
Rendszer. ki . println ( 'Az egész érték: ' + updVal2 ) ;
}
}

A fenti kódblokkban:

  • Először is hozzon létre két ' hosszú ' objektumok a ' új ' kulcsszó és a ' Hosszú() ” kivitelező, ill.
  • A konstruktor paramétereiben adja meg azokat a hosszú értékeket, amelyeket át kell alakítani int ”.
  • Most társítsa a „ intValue() ' metódussal mindkét létrehozott objektummal, és konvertálja a felhalmozott ' hosszú ' értékeket a ' egész számok ” és jelenítse meg őket.

Kimenet

A fenti eredmény azt jelenti, hogy az objektumértékek a „ egész számok ” megfelelően.

Következtetés

A long int-re konvertálásához Java nyelven használja a „ Math.toIntExact() ' módszer, a ' Keskeny Typecasting ' megközelítés, vagy a ' intValue() ” módszerrel. Ezek a megközelítések az inicializált hosszú értéket és az objektumot egész számmá alakítják, feltéve, hogy a „ hosszú ' az átváltandó érték nem haladja meg a '' maximális értékét int ”. Ezt a blogot a long int-re való konvertálása segíti Java használatával.