파싱은 구문 분성이라고 한다. 소프트웨어 프로젝트를 해보면 여러 타입들의 Data들을 수도 없이 보게 된다.
예를 DTO나 VO에 있는 변수들 Type들을 바꾸어서 요청한 client에 Data들을 parsing해서 전달해준다.
백앤드 개발자는 이 Data들을 Transfer하는 구조와 wrapper클래스 안의 메서드를을 많이 사용하곤 한다.
애초에 Wrapper클래스안에 type 변환을 위한 메서드들이 잘 구성되어 있으니!
우리들은 이를 잘 활용만 하면 된다. 하지만 수많은 메서드들이 존재하기 때문에 많이 연습해 보지 않으면 막상 상황에 부딪힐 때 잘 기억이 나지 않으니 잘 기록해 놓자.
특히, 날짜 Date와 String 변환을 하는 경우가 많으며 상당히 까다롭다!
ex)
// parseing String -> Date
String str1 = "2012-07-25";
String str2 = "2012-07-25T06:00:10";
LocalDateTime now = LocalDateTime.now();
LocalDate localDate = LocalDate.parse(str1);
LocalDateTime localDateTime = LocalDateTime.parse(str2);
System.out.println(localDate);
System.out.println(localDateTime);
parseing String -> Date
String avaTimes = "06:00:00~23:59:59";
String[] cTime = avaTimes.split("~");
System.out.println(cTime[0]);
System.out.println(cTime[1]);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
try {
// String -> Date
System.out.println(simpleDateFormat.parse(cTime[0]));
System.out.println(simpleDateFormat.parse(cTime[1]));
} catch (ParseException e) {
e.printStackTrace();
}
LocalDateTime localDateTime = LocalDateTime.parse("23:23:23" , ); // x