Panduan untuk Kelas Angka di Jawa

1. Ikhtisar

Dalam tutorial ini, kita akan membahas Nomor c Java . Pertama, kita akan mempelajari apa yang dilakukan kelas Number dan metode apa yang dikandungnya . Kemudian, kita akan mendalami berbagai implementasi kelas abstrak ini .

2. Kelas Angka

Bilangan adalah kelas bstract dalam paket java.lang . Berbagai subclass memperluas kelas Number . Yang paling umum digunakan adalah:

  • Byte
  • Pendek
  • Bilangan bulat
  • Panjang
  • Dua kali lipat
  • Mengapung

Tujuan utama dari kelas ini adalah menyediakan metode untuk mengonversi nilai numerik yang dimaksud ke berbagai tipe primitif seperti byte , short , int , long , double , dan float .

Empat metode abstrak tersedia untuk membantu menyelesaikan tugas:

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

Number juga memiliki dua metode konkret, byteValue () dan shortValue () , yang masing-masing akan mengembalikan nilai byte dannilai pendek dari angka yang ditentukan. Untuk mempelajari lebih lanjut tentang implementasi berbeda darikelas Number , silakan merujuk ke artikel kami di Kelas Wrapper.

Di bagian selanjutnya, kita akan mempelajari lebih lanjut tentang metode ini dan penggunaannya.

3. Metode Beton

Mari kita bahas metode konkret satu per satu.

3.1. shortValue ()

Seperti namanya, metode ini mengubah objek Number yang ditentukan menjadi nilai pendek primitif .

Implementasi default mengubah nilai int menjadi pendek dan mengembalikannya. Namun, subclass memiliki implementasinya sendiri, dan mereka mengubah nilai masing-masing menjadi pendek lalu kembali.

Berikut adalah cara nilai Double diubah menjadi tipe primitif pendek :

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

3.2. byteValue ()

Metode ini mengembalikan nilai dari objek Number yang ditentukan sebagai nilai byte . Meskipun demikian, kelas anak dari kelas Number memiliki implementasinya sendiri.

Berikut cara mengubah nilai Float menjadi nilai byte :

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

4. Metode Abstrak

Selain itu, kelas Number juga memiliki beberapa metode abstrak dan beberapa subclass yang mengimplementasikannya.

Di bagian ini, mari kita lihat sekilas bagaimana metode ini digunakan.

4.1. intValue ()

Metode ini mengembalikan representasi int dari Angka dalam konteks.

Mari kita lihat bagaimana nilai Long bisa diubah menjadi int :

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

Tentu saja, kompilator sedang melakukan operasi penyempitan di sini dengan mengubah nilai panjang menjadi int .

4.2. longValue ()

Metode ini akan mengembalikan nilai N umber yang ditentukan sebagai long .

Dalam contoh ini, kita melihat bagaimana nilai Integer diubah menjadi long melalui kelas Integer :

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

Berbeda dengan metode intValue () , longValue () mengembalikan nilai long setelah konversi primitif yang melebar.

4.3. floatValue ()

Kita bisa menggunakan metode ini untuk mengembalikan nilai dari N umber yang ditentukan sebagai float. Mari kita lihat bagaimana nilai Short dapat diubah menjadi nilai float :

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

Demikian pula, longValue () dan floatValue () juga melakukan konversi primitif yang semakin lebar.

4.4. doubleValue ()

Akhirnya, metode ini mengonversi nilai dari kelas Angka yang diberikan menjadi tipe data primitif ganda dan mengembalikannya.

Berikut adalah contoh penggunaan metode ini untuk mengonversi Byte menjadi double :

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

5. Kesimpulan

Dalam tutorial singkat ini, kami melihat beberapa metode terpenting di kelas Number .

Terakhir, kami telah mendemonstrasikan bagaimana metode ini dapat digunakan di berbagai kelas Wrapper .

Seperti biasa, kode sumber lengkap artikel tersedia di GitHub.