Leitfaden zur Zahlenklasse in Java

1. Übersicht

In diesem Tutorial werden wir Javas diskutieren Anzahl c lass. Zuerst lernen wir, was die Number-Klasse tut und welche Methoden sie enthält . Dann werden wir uns mit den verschiedenen Implementierungen dieser abstrakten Klasse befassen .

2. Anzahl der Klasse

Number ist eine bstract- Klasse im Paket java.lang . Verschiedene Unterklassen erweitern die Number- Klasse. Die am häufigsten verwendeten sind:

  • Byte
  • Kurz
  • Ganze Zahl
  • Lange
  • Doppelt
  • Schweben

Der Hauptzweck dieser Klasse besteht darin, Methoden zum Konvertieren des fraglichen numerischen Werts in verschiedene primitive Typen wie Byte , Short , Int , Long , Double und Float bereitzustellen .

Zur Erfüllung der Aufgabe stehen vier abstrakte Methoden zur Verfügung:

  • intValue ()
  • longValue ()
  • doubleValue ()
  • floatValue ()

Number hat auch zwei konkrete Methoden, byteValue () und shortValue () , die den Byte- Wert bzw. den Short- Wert einer angegebenen Zahl zurückgeben. WeitereInformationen zuden verschiedenen Implementierungen der Number- Klasse finden Sie in unserem Artikel zu Wrapper-Klassen.

In den nächsten Abschnitten erfahren Sie mehr über diese Methoden und ihre Verwendung.

3. Konkrete Methoden

Lassen Sie uns die konkreten Methoden einzeln diskutieren.

3.1. shortValue ()

Wie der Name schon sagt, wandelt diese Methode das angegebene Anzahl Objekt in einen primitiven Kurz Wert .

Die Standardimplementierung wandelt den int- Wert in short um und gibt ihn zurück. Unterklassen haben jedoch ihre eigenen Implementierungen, und sie wandeln die jeweiligen Werte in Kurzform um und kehren dann zurück.

So wird ein Double- Wert in einen kurzen primitiven Typ konvertiert :

@Test public void givenDoubleValue_whenShortValueUsed_thenShortValueReturned() { Double doubleValue = Double.valueOf(9999.999); assertEquals(9999, doubleValue.shortValue()); }

3.2. byteValue ()

Diese Methode gibt den Wert der angegebenen Nummer Objekt als ein Byte - Wert . Trotzdem haben untergeordnete Klassen der Number- Klasse ihre eigenen Implementierungen.

So kann ein Float- Wert in einen Byte- Wert konvertiert werden:

@Test public void givenFloatValue_whenByteValueUsed_thenByteValueReturned() { Float floatValue = Float.valueOf(101.99F); assertEquals(101, floatValue.byteValue()); }

4. Abstrakte Methoden

Darüber hinaus verfügt die Number- Klasse über einige abstrakte Methoden und mehrere Unterklassen, die diese implementieren.

In diesem Abschnitt werfen wir einen kurzen Blick auf die Verwendung dieser Methoden.

4.1. intValue ()

Diese Methode gibt die int- Darstellung der Zahl im Kontext zurück.

Mal sehen, wie ein Long- Wert in int geändert werden kann :

@Test public void givenLongValue_whenInitValueUsed_thenInitValueReturned() { Long longValue = Long.valueOf(1000L); assertEquals(1000, longValue.intValue()); }

Natürlich führt der Compiler hier eine Verengungsoperation durch, indem er einen langen Wert in einen int konvertiert .

4.2. longValue ()

Diese Methode gibt den Wert der als long angegebenen Anzahl zurück .

In diesem Beispiel sehen wir, wie ein Integer- Wert über die Integer- Klasse in einen Long- Wert konvertiert wird :

@Test public void givenIntegerValue_whenLongValueUsed_thenLongValueReturned() { Integer integerValue = Integer.valueOf(100); assertEquals(100, integerValue.longValue()); }

Im Gegensatz zur intValue () -Methode gibt longValue () den long- Wert nach einer erweiterten primitiven Konvertierung zurück.

4.3. floatValue ()

Mit dieser Methode können wir den Wert der angegebenen Anzahl als Float zurückgeben. Schauen wir uns an, wie ein Short- Wert in einen Float- Wert umgewandelt werden kann:

@Test public void givenShortValue_whenFloatValueUsed_thenFloatValueReturned() { Short shortValue = Short.valueOf(127); assertEquals(127.0F, shortValue.floatValue(), 0); }

Ebenso führen longValue () und floatValue () eine erweiterte primitive Konvertierung durch.

4.4. doubleValue ()

Schließlich konvertiert diese Methode den Wert der angegebenen Number- Klasse in den doppelten primitiven Datentyp und gibt ihn zurück.

Hier ist ein Beispiel für die Verwendung dieser Methode zum Konvertieren eines Bytes in double :

@Test public void givenByteValue_whenDoubleValueUsed_thenDoubleValueReturned() { Byte byteValue = Byte.valueOf(120); assertEquals(120.0, byteValue.doubleValue(), 0); }

5. Schlussfolgerung

In diesem kurzen Tutorial haben wir uns einige der wichtigsten Methoden in der Number- Klasse angesehen .

Schließlich haben wir gezeigt, wie diese Methoden in verschiedenen Wrapper- Klassen verwendet werden können.

Wie immer ist der vollständige Quellcode des Artikels auf GitHub verfügbar.