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