W tym artykule omówimy konwersję „long” na „int” w Javie.
Czym są „długie” i „int” w Javie?
„ długi ” wpisz w Javie zakresy od „ -9223372036854775808 ' Do ' 922337203685477580 ” i jest przydzielany „ 64 ” bity. „ int ”typ jednak zajmuje” 32 ” bity od „ -2147483648 ' Do ' 2147483647 ”. Oznacza to, że dowolna liczba „ int ” typy mogą być łatwo obsługiwane przez „ długi ”, ale nie zawsze tak jest przez większość czasu.
Jak przekonwertować „long” na „int” za pomocą Javy?
Przekonwertować na ' długi ' Do ' int ” w Javie zastosuj następujące podejścia:
Podejście 1: Konwersja long na int w Javie przy użyciu metody „Math.toIntExact()”
„ Math.toIntExact() ” w Javie daje „ int ”wartość z podanej” długi ' argument. Tę metodę można zastosować, aby po prostu przekazać „ długi ” wartość jako argument i zwróć ją jako liczbę całkowitą.
Składnia
Matematyka . doIntDokładnie ( długi wartość )
W tej składni „ długi val ” odnosi się do wartości, która musi zostać zwrócona jako „ int ”.
Przykład
Omówmy następujący przykład:
publiczny klasa longtoint2 {
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
długi wybór1 = 8624675L ;
długi wartość2 = 3482398L ;
int aktualizacjaWart1 = Matematyka . doIntDokładnie ( wybór1 ) ;
int updVal2 = Matematyka . doIntDokładnie ( wartość2 ) ;
System. na zewnątrz . println ( 'Wartość całkowita to: ' + aktualizacjaWart1 ) ;
System. na zewnątrz . println ( 'Wartość całkowita to: ' + updVal2 ) ;
}
}
W tym fragmencie kodu wykonaj następujące kroki:
- Najpierw zainicjuj dwa „ długi wartości.
- Notatka: Określony ' Ł ” w wartościach reprezentują i różnicują „ długi ” wartości z „ int wartości.
- Następnie zastosuj „ Math.toIntExact() ” dwukrotnie i zgromadzić obie zainicjowane długie wartości jako jej parametr, aby przekonwertować je na liczby całkowite.
- Na koniec zarejestruj przekonwertowane wartości całkowite w konsoli.
Wyjście
W powyższym wyniku można przeanalizować, że wyświetlane są odpowiednie wartości całkowite.
Notatka: Proces konwersji (long na int) działa dobrze, gdy wartość „ długi ” jest mniejsza lub równa maksymalnej wartości „ int ”, tj. (2147483647). W drugim przypadku wystąpi błąd i może dojść do utraty danych.
Demonstracja
Przyjrzyjmy się omawianej koncepcji prowadzącej do ograniczenia:
W powyższym przykładzie po prostu zwiększ to drugie „ długi ” i wykonaj konwersję. Doprowadzi to do napotkania „ Całkowitą przepełnienie ” ograniczenie, ponieważ przeliczona wartość przekracza „ int „maksymalny limit.
Podejście 2: Konwertuj long na int w Javie przy użyciu „wąskiego rzutowania”
“ Typowanie ” odpowiada przypisaniu wartości jednego prymitywnego typu danych do innego. W tym przypadku „ zawężenie typowania ” wchodzi w życie, ponieważ wyższy typ danych, tj. „ długi ” jest przekształcany w niższy typ danych „ int ”. Można to osiągnąć, po prostu umieszczając wartość, która ma zostać przekształcona, a następnie żądany typ w nawiasach.
Przykład
Poniższy przykład wyjaśnia omawianą koncepcję:
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
długi wybór1 = 647467L ;
długi wartość2 = 348 239L ;
int aktualizacjaWart1 = ( int ) wybór1 ;
int updVal2 = ( int ) wartość2 ;
System. na zewnątrz . println ( 'Wartość całkowita to: ' + aktualizacjaWart1 ) ;
System. na zewnątrz . println ( 'Wartość całkowita to: ' + updVal2 ) ;
}
}
W powyższych liniach kodu:
- Podobnie zainicjuj dwa „ długi wartości.
- W następnym kroku zastosuj „ wąskie typowanie ”, umieszczając wartość, która ma zostać przekonwertowana, a następnie żądany typ, tj. „ int ”.
- Na koniec wyświetl przekonwertowane „ int ” na konsoli.
Wyjście
Na tym wyjściu widać, że „ długi ” wartości są konwertowane na „ int ”, odpowiednio.
Podejście 3: Konwertuj długi obiekt na int w Javie przy użyciu metody „intValue()”.
„ intValue() ” w Javie zwraca wartość powiązanej liczby w postaci „ int ”. Metodę tę można zaimplementować w celu prostego przekształcenia powiązanego długiego „ obiekty ” na liczby całkowite.
Przykład
Przejrzyj poniższy przykład, aby przeprowadzić konwersję:
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
Długi val1 = nowy Długi ( 8624675L ) ;
Długi val2 = nowy Długi ( 3482398L ) ;
int aktualizacjaWart1 = wybór1. intValue ( ) ;
int updVal2 = wartość2. intValue ( ) ;;
System. na zewnątrz . println ( 'Wartość całkowita to: ' + aktualizacjaWart1 ) ;
System. na zewnątrz . println ( 'Wartość całkowita to: ' + updVal2 ) ;
}
}
W powyższym bloku kodu:
- Przede wszystkim utwórz dwa „ długi ” obiektów za pośrednictwem „ nowy ” słowo kluczowe i „ Długi() ” odpowiednio konstruktora.
- W parametrach konstruktora określ długie wartości, które mają zostać przekształcone w „ int ”.
- Teraz skojarz „ intValue() ” z obydwoma utworzonymi obiektami i przekonwertować zgromadzone „ długi ” wartości na „ liczby całkowite ” i wyświetlić je.
Wyjście
Powyższy wynik oznacza, że wartości obiektu są konwertowane na „ liczby całkowite ” odpowiednio.
Wniosek
Aby przekonwertować long na int w Javie, zastosuj „ Math.toIntExact() „metoda”, „ Wąskie rzutowanie „podejście” lub „podejście intValue() ' metoda. Podejścia te przekształcają zainicjowaną długą wartość i obiekt w liczbę całkowitą, pod warunkiem, że „ długi ” wartość, którą należy przeliczyć, nie przekracza maksymalnej wartości „ int ”. Ten blog jest przewodnikiem po konwersji long na int przy użyciu Javy.