숫자 ⇒ 문자열 변환
숫자에서 문자열로의 변환은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 문으로 둘러싸는, 또는 재차 throw 하고 다시 할 필요가 있습니다.
숫자 ⇔ 날짜 변환
수치로부터 일자, 또는 일자로부터 수치에의 변환은, 유감스럽게도, 그것을 위해서 만들어진 메소드는 없습니다. 둘 다 한 번 문자열로 변환을 거쳐야합니다.