Ako previesť long na int v Jave

Ako Previest Long Na Int V Jave



V Jave môžu nastať určité situácie, keď vývojár potrebuje efektívne šetriť pamäť. Napríklad pridelenie typu údajov s relatívne menším rozsahom hodnôt alebo zbavenie sa nadbytočných hodnôt. V takýchto prípadoch konverzia „ dlhý “ až “ int” v Jave nadobudne účinnosť zjednodušením aritmetických operácií, zložitosťou kódu a zaberie pomerne kratší čas vykonávania.

Tento článok sa bude zaoberať prevodom „long“ na „int“ v jazyku Java.

Čo sú „long“ a „int“ v Jave?

' dlhý ” typ v jazyku Java sa pohybuje od “ -9223372036854775808 “ až “ 922337203685477580 “ a je pridelené „ 64 ”bity. ' int „typ však zaberá“ 32 “bity v rozsahu od “ -2147483648 “ až “ 2147483647 “. To znamená, že akýkoľvek počet „ int Typy môžu byť jednoducho podporované dlhý “, ale väčšinou to tak nie je.







Ako previesť „long“ na „int“ pomocou Java?

Konvertovať ' dlhý “ až “ int ” v jazyku Java použite nasledujúce prístupy:



Prístup 1: Preveďte long na int v jazyku Java pomocou metódy „Math.toIntExact()“

' Math.toIntExact() ” metóda v jazyku Java dáva “ int “hodnota z poskytnutej “ dlhý “argument. Túto metódu možno použiť na jednoduché absolvovanie „ dlhý ” hodnotu ako svoj argument a vráti ju ako celé číslo.



Syntax





Matematika . toIntExact ( dlhý val )

V tejto syntaxi „ dlhý val “ označuje hodnotu, ktorú je potrebné vrátiť ako „ int “.

Príklad
Pozrime sa na nasledujúci príklad:



verejnosti trieda longtoint2 {
verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {
dlhý voľba1 = 8624675L ;
dlhý val2 = 3482398L ;
int updateVal1 = Matematika . toIntExact ( voľba1 ) ;
int updVal2 = Matematika . toIntExact ( val2 ) ;
Systém. von . println ( 'Celočíselná hodnota je: ' + updateVal1 ) ;
Systém. von . println ( 'Celočíselná hodnota je: ' + updVal2 ) ;
}
}

V tomto útržku kódu vykonajte nasledujúce kroky:

  • Najprv inicializujte dva „ dlhý “hodnoty.
  • Poznámka: Uvedené „ L “ v hodnotách predstavujú a rozlišujú „ dlhý “hodnoty z “ int “hodnoty.
  • Potom použite „ Math.toIntExact() ” dvakrát a akumuluje obe inicializované dlhé hodnoty ako svoj parameter na ich konverziu na celé čísla.
  • Nakoniec zapíšte prevedené celočíselné hodnoty do konzoly.

Výkon

Vo vyššie uvedenom výsledku je možné analyzovať, že sú zobrazené zodpovedajúce celočíselné hodnoty.

Poznámka: Proces prevodu (long to int) funguje dobre, keď hodnota „ dlhý “ je menšia alebo rovná maximálnej hodnote “ int “, t.j. (2147483647). V druhom prípade sa vyskytne chyba a môže dôjsť aj k strate údajov.

Demonštrácia
Pozrime sa na diskutovaný koncept vedúci k obmedzeniu:

Vo vyššie uvedenom príklade jednoducho zvýšte hodnotu „ dlhý ” hodnotu a vykonajte konverziu. To povedie k stretnutiu s „ Pretečenie celého čísla ” obmedzenie, pretože prevedená hodnota presahuje “ int “maximálny limit.

Prístup 2: Konvertujte long na int v jazyku Java pomocou „Narrow Typecasting“

Typové odlievanie ” zodpovedá priradeniu hodnoty jedného primitívneho dátového typu k druhému. V tomto prípade „ zužujúce sa pretypovanie “ nadobudne účinnosť, pretože vyšší typ údajov, t. j. dlhý “ sa transformuje na nižší dátový typ “ int “. To sa dá dosiahnuť jednoduchým umiestnením hodnoty, ktorú je potrebné transformovať, a za ňou požadovaný typ do zátvoriek.

Príklad
Nasledujúci príklad vysvetľuje diskutovaný koncept:

verejnosti trieda longtoint {
verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {
dlhý voľba1 = 647467L ;
dlhý val2 = 348 239 l ;
int updateVal1 = ( int ) voľba1 ;
int updVal2 = ( int ) val2 ;
Systém. von . println ( 'Celočíselná hodnota je: ' + updateVal1 ) ;
Systém. von . println ( 'Celočíselná hodnota je: ' + updVal2 ) ;
}
}

Vo vyššie uvedených riadkoch kódu:

  • Podobne inicializujte dva „ dlhý “hodnoty.
  • V ďalšom kroku použite „ úzky typ odliatku ” prístup umiestnením hodnoty, ktorú je potrebné previesť, a za ňou požadovaný typ, t. j. int “.
  • Nakoniec zobrazte skonvertovaný „ int hodnoty na konzole.

Výkon

Na tomto výstupe je možné vidieť, že „ dlhý “hodnoty sa prevedú na “ int “hodnoty, primerane.

Prístup 3: Preveďte dlhý objekt na int v jazyku Java pomocou metódy „intValue()“.

' intValue() ” metóda v jazyku Java vracia hodnotu priradeného čísla v tvare “ int “. Táto metóda môže byť implementovaná tak, aby jednoducho transformovala súvisiace dlhé „ predmety ” na celé čísla.

Príklad
Ak chcete vykonať konverziu, prejdite si nižšie uvedený príklad:

verejnosti trieda longtoint3 {
verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {
Dlhá val1 = Nový Dlhé ( 8624675L ) ;
Dlhá val2 = Nový Dlhé ( 3482398L ) ;
int updateVal1 = voľba1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
Systém. von . println ( 'Celočíselná hodnota je: ' + updateVal1 ) ;
Systém. von . println ( 'Celočíselná hodnota je: ' + updVal2 ) ;
}
}

Vo vyššie uvedenom bloku kódu:

  • Najprv vytvorte dve „ dlhý ” objekty cez “ Nový kľúčové slovo a Dlhé () “konštruktor, resp.
  • V parametroch konštruktora zadajte dlhé hodnoty, ktoré je potrebné transformovať na „ int “.
  • Teraz spojte „ intValue() s oboma vytvorenými objektmi a previesť nahromadené dlhý “hodnoty do “ celé čísla “ a zobrazte ich.

Výkon

Vyššie uvedený výsledok znamená, že hodnoty objektu sa skonvertujú na „ celé čísla “primerane.

Záver

Ak chcete previesť long na int v jazyku Java, použite „ Math.toIntExact() “ metóda, “ Úzke odlievanie “, alebo “ intValue() “. Tieto prístupy transformujú inicializovanú dlhú hodnotu a objekt na celé číslo za predpokladu, že „ dlhý “hodnota, ktorú je potrebné previesť, nepresahuje maximálnu hodnotu “ int “. Tento blog je zameraný na konverziu long na int pomocou Java.