Heim > Java > javaLernprogramm > Hauptteil

Wie können Sie in Java sicher einen Long-Wert in einen Int-Wert umwandeln?

DDD
Freigeben: 2024-10-26 14:59:31
Original
538 Leute haben es durchsucht

How Can You Safely Cast a Long to an Int in Java?

Sicheres Umwandeln von Long in Int in Java

Das Umwandeln von Long in Int kann möglicherweise zu Informationsverlusten führen. Um dies zu verhindern, muss unbedingt überprüft werden, dass die Umwandlung den Wert nicht verändert.

Traditioneller Ansatz:

Ein gängiger Ansatz besteht darin, in einen Int umzuwandeln und dann zurück zu konvertieren zu lange, um die Gleichheit zu prüfen. Allerdings weist diese Methode eine Einschränkung auf: Sie schlägt bei Werten größer als 2^31-1 fehl.

Java 8-Lösung:

Java 8 führte eine robustere Lösung ein: Math.toIntExact(long). Diese Methode löst eine ArithmeticException aus, wenn die Umwandlung zu einem Überlauf führt.

<code class="java">long foo = 10L;
int bar = Math.toIntExact(foo); // Throws ArithmeticException on overflow</code>
Nach dem Login kopieren

Andere überlaufsichere Methoden:

Zusätzlich zu toIntExact hat Java 8 auch mehrere andere hinzugefügt Überlaufsichere Methoden, die mit „exact“ enden. Zu diesen Methoden gehören:

  • Math.incrementExact(long)
  • Math.subtractExact(long, long)
  • Math.decrementExact(long)
  • Math.negateExact(long)
  • Math.subtractExact(int, int)

Die Verwendung dieser Methoden gewährleistet die Integrität Ihrer Daten und verhindert unerwartete Ganzzahlüberläufe.

Das obige ist der detaillierte Inhalt vonWie können Sie in Java sicher einen Long-Wert in einen Int-Wert umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!