Kako pretvoriti long u int u Javi

Kako Pretvoriti Long U Int U Javi



U Javi mogu postojati određene situacije u kojima programer mora učinkovito uštedjeti memoriju. Na primjer, dodjeljivanje tipa podataka s relativno manjim rasponom vrijednosti ili uklanjanje dodatnih vrijednosti. U takvim slučajevima, pretvorba ' dugo ” do “ int” u Javi dolazi na snagu pojednostavljivanjem aritmetičkih operacija, složenosti koda i potrebno je relativno manje vremena za izvođenje.

Ovaj članak će razraditi pretvaranje 'long' u 'int' u Javi.

Što su 'long' i 'int' u Javi?

' dugo ' tip u Javi kreće se od ' -9223372036854775808 ” do “ 922337203685477580 ” i dodjeljuje se “ 64 ' komadići. ' int ' vrsta, međutim, zauzima ' 32 ” bitova u rasponu od “ -2147483648 ” do “ 2147483647 ”. Ovo implicira da bilo koji broj ' int ' tipovi se lako mogu podržati pomoću ' dugo ” ali to nije uvijek slučaj većinu vremena.







Kako pretvoriti 'long' u 'int' pomoću Jave?

Za pretvaranje ' dugo ” do “ int ” u Javi primijenite sljedeće pristupe:



Pristup 1: Pretvorite long u int u Javi pomoću metode “Math.toIntExact()”

' Math.toIntExact() ' metoda u Javi daje ' int ” vrijednost iz ponuđenog “ dugo ” argument. Ova se metoda može primijeniti za jednostavno prosljeđivanje ' dugo ” vrijednost kao svoj argument i vraća je kao cijeli broj.



Sintaksa





matematika . toIntExact ( dugo val )

U ovoj sintaksi, ' duga val ' odnosi se na vrijednost koju je potrebno vratiti kao ' int ”.

Primjer
Pogledajmo sljedeći primjer:



javnost razreda longtoint2 {
javnost statički poništiti glavni ( Niz [ ] args ) {
dugo izbor1 = 8624675L ;
dugo val2 = 3482398L ;
int updateVal1 = matematika . toIntExact ( izbor1 ) ;
int updVal2 = matematika . toIntExact ( val2 ) ;
Sustav. van . println ( 'Cjelobrojna vrijednost je: ' + updateVal1 ) ;
Sustav. van . println ( 'Cjelobrojna vrijednost je: ' + updVal2 ) ;
}
}

U ovom isječku koda izvršite sljedeće korake:

  • Prvo inicijalizirajte dva ' dugo ” vrijednosti.
  • Bilješka: Navedeni “ L ' u vrijednostima predstavljaju i razlikuju ' dugo ” vrijednosti iz “ int ” vrijednosti.
  • Nakon toga primijenite ' Math.toIntExact() ” dvaput i akumulirati obje inicijalizirane duge vrijednosti, kao svoj parametar za njihovo pretvaranje u cijele brojeve.
  • Na kraju, zabilježite pretvorene vrijednosti cijelog broja na konzoli.

Izlaz

U gornjem ishodu može se analizirati da su prikazane odgovarajuće cjelobrojne vrijednosti.

Bilješka: Proces pretvorbe (dugo u int) radi dobro kada je vrijednost ' dugo ” je manja ili jednaka najvećoj vrijednosti za „ int “, tj. (2147483647). U drugom slučaju dolazi do pogreške i također može doći do gubitka podataka.

Demonstracija
Promotrimo razmatrani koncept koji vodi do ograničenja:

U gornjem primjeru jednostavno povećajte potonje ' dugo ” vrijednost i izvrši pretvorbu. To će dovesti do susreta s ' Prelivanje cijelog broja ' jer pretvorena vrijednost premašuje ' int ” maksimalno ograničenje.

Pristup 2: Pretvorite long u int u Javi pomoću “Narrow Typecasting”

Tipiziranje ” odgovara dodjeljivanju vrijednosti jednog primitivnog tipa podataka drugom. U ovom slučaju, ' sužavanje typecasting ” stupa na snagu jer viši tip podataka, tj. dugo ” transformira se u niži tip podataka “ int ”. To se može postići jednostavnim stavljanjem vrijednosti koju treba transformirati iza koje slijedi željeni tip u zagradama.

Primjer
Sljedeći primjer objašnjava razmatrani koncept:

javnost razreda longtoint {
javnost statički poništiti glavni ( Niz [ ] args ) {
dugo izbor1 = 647467L ;
dugo val2 = 348 239L ;
int updateVal1 = ( int ) izbor1 ;
int updVal2 = ( int ) val2 ;
Sustav. van . println ( 'Cjelobrojna vrijednost je: ' + updateVal1 ) ;
Sustav. van . println ( 'Cjelobrojna vrijednost je: ' + updVal2 ) ;
}
}

U gornjim redcima koda:

  • Isto tako, inicijalizirajte dva ' dugo ” vrijednosti.
  • U sljedećem koraku primijenite ' usko tipiziranje ” pristup stavljanjem vrijednosti koju treba pretvoriti iza željene vrste, tj. int ”.
  • Na kraju, prikaži pretvoreni ' int ” vrijednosti na konzoli.

Izlaz

U ovom izlazu može se vidjeti da je ' dugo ” vrijednosti se pretvaraju u “ int ” vrijednosti, na odgovarajući način.

Pristup 3: Pretvorite dugi objekt u int u Javi pomoću metode “intValue()”

' intValue() ” metoda u Javi vraća vrijednost pridruženog broja u obliku “ int ”. Ova se metoda može implementirati za jednostavnu transformaciju pridruženog dugog ' objekti ” u cijele brojeve.

Primjer
Prođite kroz primjer u nastavku da biste izvršili konverziju:

javnost razreda longtoint3 {
javnost statički poništiti glavni ( Niz [ ] args ) {
Dugi val1 = novi dugo ( 8624675L ) ;
Dugi val2 = novi dugo ( 3482398L ) ;
int updateVal1 = izbor1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
Sustav. van . println ( 'Cjelobrojna vrijednost je: ' + updateVal1 ) ;
Sustav. van . println ( 'Cjelobrojna vrijednost je: ' + updVal2 ) ;
}
}

U gornjem bloku koda:

  • Prije svega, stvorite dva ' dugo ” objekti putem “ novi ' ključna riječ i ' Dugo () ” konstruktor, respektivno.
  • U parametrima konstruktora navedite duge vrijednosti koje je potrebno transformirati u ' int ”.
  • Sada povežite ' intValue() ' s oba stvorena objekta i pretvoriti akumulirane ' dugo ' vrijednosti u ' cijeli brojevi ” i prikažite ih.

Izlaz

Gore navedeni ishod implicira da se vrijednosti objekta pretvaraju u ' cijeli brojevi ” na odgovarajući način.

Zaključak

Da biste pretvorili long u int u Javi, primijenite ' Math.toIntExact() ' metoda, ' Usko prevođenje tipa ' pristup ili ' intValue() ” metoda. Ovi pristupi transformiraju inicijaliziranu dugu vrijednost i objekt u cijeli broj pod uvjetom da je ' dugo ' vrijednost koju je potrebno pretvoriti ne premašuje maksimalnu vrijednost ' int ”. Ovaj je blog usmjeren na pretvaranje long u int pomoću Jave.