Java Numberクラス:ラッパークラスと継承階層を徹底解説
プリミティブ型とラッパークラス
通常はbyte, int, long, double等のプリミティブ型で数値を扱いますが、オブジェクトが必要な場面(コレクション格納、null許容、ユーティリティメソッド利用等)ではラッパークラスを使用します。
全ラッパークラス(Integer, Long, Byte, Double, Float, Short)は抽象クラスNumberのサブクラスです。
ボクシングとアンボクシング
- ボクシング:プリミティブ→ラッパーオブジェクト変換。コンパイラが自動処理(オートボクシング)
- アンボクシング:ラッパーオブジェクト→プリミティブ変換。これも自動(オートアンボクシング)
例
public class Test {
public static void main(String[] args) {
Integer x = 5; // ボクシング: int → Integer
x = x + 10; // アンボクシング→加算→ボクシング
System.out.println(x); // 15
}
}
Numberクラスの主要メソッド
すべてのサブクラスが実装するインスタンスメソッド:
| # | メソッド | 説明 |
|---|---|---|
| 1 | xxxValue() | このNumberオブジェクトをxxx型に変換して返す(intValue, doubleValue等) |
| 2 | compareTo() | このNumberオブジェクトと引数を比較 |
| 3 | equals() | このNumberオブジェクトが引数と等しいか判定 |
| 4 | valueOf() | 指定プリミティブ値を保持するIntegerオブジェクト返却(静的) |
| 5 | toString() | 指定int/Integerを表すStringオブジェクト返却(静的) |
| 6 | parseInt() | 文字列からプリミティブ型取得(静的) |
| 7 | abs() | 引数の絶対値返却(静的) |
| 8 | ceil() | 引数以上の最小整数をdoubleで返却(静的) |
| 9 | floor() | 引数以下の最大整数をdoubleで返却(静的) |
| 10 | rint() | 引数に最も近い整数をdoubleで返却(静的) |
| 11 | round() | 引数に最も近いlong/int返却(静的) |
| 12 | min() | 2引数の小さい方返却(静的) |
| 13 | max() | 2引数の大きい方返却(静的) |
| 14 | exp() | eの引数乗返却(静的) |
| 15 | log() | 引数の自然対数返却(静的) |
| 16 | pow() | 第1引数の第2引数乗返却(静的) |
| 17 | sqrt() | 引数の平方根返却(静的) |
| 18 | sin() | 指定double値の正弦返却(静的) |
| 19 | cos() | 指定double値の余弦返却(静的) |
| 20 | tan() | 指定double値の正接返却(静的) |
| 21 | asin() | 指定double値の逆正弦返却(静的) |
| 22 | acos() | 指定double値の逆余弦返却(静的) |
| 23 | atan() | 指定double値の逆正接返却(静的) |
| 24 | atan2() | 直交座標(x,y)を極座標(r,θ)に変換しθ返却(静的) |
| 25 | toDegrees() | ラジアン→度変換(静的) |
| 26 | toRadians() | 度→ラジアン変換(静的) |
| 27 | random() | 乱数返却(静的) |
Numberクラス継承図
Number (abstract)
/ | | \ \
Integer Long Byte Double Float Short
| |
BigInteger BigDecimal
Numberクラスはjava.langパッケージに属します。
次の章へ
次節ではJavaのCharacterクラスについて説明。オブジェクトとしてのCharacterとプリミティブcharの使い方を学びます。
Java
- Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
- Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
- Java Staticネストクラスの理解:用法、違い、実例
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaシングルトンパターン完全解説:安全な実装と活用法
- Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
- Javaコレクションアルゴリズム完全ガイド:ソート、シャッフル、検索など
- Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
- Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
- Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除
- Java 8 Optional完全ガイド:実践的なNull安全コードの書き方