Vejledning til nummerklassen i Java

1. Oversigt

I denne vejledning diskuterer vi Java'er Nummer class. Først, vi lærerhvad Antal klasse gør, og hvilke metoder den indeholder. Derefter dykker vi ned i de forskellige implementeringer af dette abstrakt klasse.

2. Nummer Klasse

Nummer er en aabstrakt klasse i java.lang pakke. Forskellige underklasser udvider Nummer klasse. De mest anvendte er:

  • Byte
  • Kort
  • Heltal
  • Lang
  • Dobbelt
  • Flyde

Hovedformålet med denne klasse er at tilvejebringe metoder til at konvertere den pågældende numeriske værdi til forskellige primitive typer såsom byte, kort, int, lang, dobbeltog flyde.

Fire abstrakt metoder er tilgængelige for at hjælpe med at udføre opgaven:

  • intValue ()
  • longValue ()
  • dobbeltværdi ()
  • floatValue ()

Nummer har også to konkrete metoder, byteValue () og shortValue (), som returnerer byte værdi og kort værdi af et angivet nummer. For at lære mere om de forskellige implementeringer af Nummer klasse, se vores artikel om indpakningsklasser.

I de kommende sektioner lærer vi mere om disse metoder og deres anvendelse.

3. Konkrete metoder

Lad os diskutere de konkrete metoder en efter en.

3.1. shortValue()

Som navnet antyder, konverterer denne metode det angivne Nummer objekt til en primitiv kort værdi.

Standardimplementeringen kaster int værdi ind i kort og returnerer det. Imidlertid har underklasser deres egne implementeringer, og de kaster respektive værdier i kort og vend tilbage.

Her er hvordan en Dobbelt værdi konverteres til a kort primitiv type:

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

3.2. byteValue ()

Denne metode returnerer værdien af ​​det angivne Nummer objekt som en byte værdi. Ikke desto mindre børneklasser af Nummer klasse har deres egne implementeringer.

Sådan får du en Flyde værdi kan konverteres til en byte værdi:

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

4. Abstrakte metoder

Derudover er Nummer klasse har også et par abstrakte metoder og flere underklasser, der implementerer dem.

Lad os i dette afsnit hurtigt se på, hvordan disse metoder bruges.

4.1. intValue ()

Denne metode returnerer int repræsentation af Nummer i sammenhæng.

Lad os se, hvordan en Lang værdi kan ændres til int:

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

Bestemt udfører compileren en indsnævring her ved at konvertere en lang værdi til en int.

4.2. longValue ()

Denne metode returnerer værdien af ​​Number angivet som en lang.

I dette eksempel ser vi, hvordan en Heltal værdi konverteres til a lang via Heltal klasse:

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

I modsætning til intValue () metode, longValue () returnerer lang værdi efter en udvidet primitiv konvertering.

4.3. floatValue ()

Vi kan bruge denne metode til at returnere værdien af ​​den angivne Number som en flyde. Lad os se på, hvordan en Kort værdi kan konverteres til en flyde værdi:

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

Ligeledes, longValue () og floatValue () også udføre en udvidende primitiv konvertering.

4.4. dobbeltværdi ()

Endelig konverterer denne metode værdien af ​​det givne Nummer klasse til dobbelt primitive datatype og returnerer den.

Her er et eksempel på brug af denne metode til at konvertere en Byte til dobbelt:

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

5. Konklusion

I denne hurtige vejledning kiggede vi på nogle af de vigtigste metoder i Nummer klasse.

Endelig har vi demonstreret, hvordan disse metoder kan bruges i forskellige Indpakning klasser.

Som altid er artiklens fulde kildekode tilgængelig på GitHub.