ねっとぱんだ-プログラミング勉強ブログ-

Webデザイン、プログラミングの勉強ブログ。

【java】ラッパークラスと数値、文字列の変換

ラッパークラス

参考
https://www.javadrive.jp/start/wrapper_class/index1.html

基本データ型にも参照型クラスがある

基本データ型 ラパークラス
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double

BooleanクラスとCharacterクラスを除いたクラスは全てNumberクラスの子クラス

public class practice{
	
    public static void main (String[] args){
    	
    	Integer i = new Integer(32);
    	int n = i.intValue();
    	
    	//auto boxing
    	//参照型なのでメモリ領域の場所が入っている
    	Integer j  = 32;
    	//どのメモリも参照していない状態
    	j = null;
    	
    	//auto anboxing
    	//nullはanboxingできないので例外が発生
    	int m = j;
    	
    }
    
}

値の変換

数値から文字列へ

ラッパークラスオブジェクトに用意されているtoStringメソッドを使う

Integer i = new Integer(32);
    	
String str = i.toString(); 

Stringクラスに用意されているvalueOfメソッドを使う

int n = 32;

String str =  String.valueOf(n);
  1. 演算子で文字列と連結する
int n = 32;
    	
String str =  n + "";

文字列から数値へ

ラッパークラスで用意されているparse~~~を使う

Integerの場合

String str = "123";

int i = Integer.parseInt(str);

浮動小数や範囲を超えた数の文字列を変換しようとすると
実行時にエラーになる(コンパイルエラーではない)


ラッパークラスで用意されているvalueOfメソッドを使う

String str = "123";

int i = Integer.valueOf(str);

ラッパークラスのコンストラクタの引数に指定する

String str = "123";

int i = new Integer(str);