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 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 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.