数値から文字列への変換は、String.valueof() を使います。
String str = String.valueOf(num);
また、他にもこのような書き方があります。
String str = Integer.toString(num); String str = "" + num;
最後の “” + num は、文字列と連結させると数値を文字列として扱うという Java の特徴を活用しています。
最後のやり方が最もシンプルに記述できますが、Java の特性をしっかり理解していない方がみたら、意図を読み解くのに時間がかかります。
文字列から数値への変換は、Integer.parseInt() を使います。
int num = Integer.parseInt(str);
文字が入っていたり、型に入らない数値であったりと、何らかの理由で変換できなかった場合は NumberFormatException になるので注意が必要です。
日付から文字列への変換は、数値⇒文字列より少し複雑です。
まず SimpleDateFormat のインスタンスを作成します。作成する際に日付書式を指定します。これが文字列にしたときのフォーマットになります。
最後に SimpleDateFormat.format() で文字列に変換しています。
public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); String str = sdf.format(date); System.out.println("日付型 = " + date); System.out.println("文字列 = " + str); }出力結果:
日付型 = Sat Nov 02 12:11:55 UTC 2019 文字列 = 2019/11/02 12:11:55
文字列から日付への変換には、SimpleDateFormat.parse メソッドを使います。
日付 ⇒ 文字列の場合と同じく、SimpleDateFormat を作成します。作成時に日付書式を指定しますが、これは変換対象の文字列の日付フォーマットに合わせます。
最後に SimpleDateFormat.parse() で日付(Date)に変換します。
public static void main(String[] args) { try { String strDate = "2019/11/01 12:34:56"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); Date date = sdf.parse(strDate); System.out.println("文字列 = " + strDate); System.out.println("日付型 = " + date); } catch (ParseException e) { //例外処理 } }出力結果:
文字列 = 2019/11/01 12:34:56 日付型 = Fri Nov 01 00:34:56 UTC 2019
なお、parseメソッドは ParseException をスローしているので、try-catch 文で囲う、または再度スローし直す必要があります。
数値から日付、または日付から数値への変換は、残念ながら、そのために作られたメソッドはありません。
両方とも、一度文字列への変換を経由する必要があります。