型変換はプログラミングにおいて頻繁に行われる操作の一つです。Javaにおいても様々な方法で型変換を行うことができます。この記事では、基本型(プリミティブ型)と参照型(オブジェクト)の変換について解説します。
基本型から基本型への変換
Javaでは、小さいデータ型から大きいデータ型への変換は自動的に行われます(拡大変換)。しかし、大きなデータ型から小さいデータ型への変換は明示的に行う必要があります(縮小変換)。
拡大変換(自動)
int i = 42;
long l = i;
縮小変換(明示的)
long l = 42;
int i = (int) l;
基本型から参照型への変換(ボクシング)
JavaではInteger
やDouble
などのラッパークラスを用いて、基本型を参照型に変換することができます。
int i = 42;
Integer integerObj = Integer.valueOf(i);
または、
Integer integerObj = 42; // オートボクシング
参照型から基本型への変換(アンボクシング)
逆に、ラッパークラスのオブジェクトを基本型に変換することもできます。
Integer integerObj = 42;
int i = integerObj.intValue();
または、
int i = integerObj; // オートアンボクシング
文字列から数値への変換
Integer.parseInt
やDouble.parseDouble
などのメソッドを用いて、文字列を数値に変換できます。
String s = "42";
int i = Integer.parseInt(s);
数値から文字列への変換
数値を文字列に変換する方法もいくつかあります。
int i = 42;
String s = Integer.toString(i);
または、
String s = String.valueOf(i);
文字列からブール値への変換
JavaではBoolean.parseBoolean
メソッドを使用して、文字列をboolean
型に変換することができます。このメソッドはケースを無視して”true”と一致する場合にtrue
を返し、それ以外はfalse
を返します。
String trueStr = "true";
boolean b1 = Boolean.parseBoolean(trueStr); // b1 は true
String falseStr = "false";
boolean b2 = Boolean.parseBoolean(falseStr); // b2 は false
String otherStr = "hello";
boolean b3 = Boolean.parseBoolean(otherStr); // b3 は false
ブール値から文字列への変換
boolean
型をString
型に変換するには、String.valueOf
メソッドまたはBoolean.toString
メソッドを使用できます。
boolean b = true;
String s1 = String.valueOf(b); // s1 は "true"
String s2 = Boolean.toString(b); // s2 も "true"
まとめ
Javaでの型変換は非常に多様で、用途やケースに応じて適切な方法を選ぶ必要があります。基本型と参照型、そして文字列と数値間での変換は特によく使われるので、これらのメソッドとテクニックはしっかりと理解しておくと良いでしょう。
コメント