Programing/Java38 Java에서 String과 new String()의 차이는? 아래와 같은 질문을 받았다. String msg = “Hello”; String msg = new String(“Hello”); 위 두 가지 코드 중 어떤 방식이 더 나은 방식일까? 같을까? 다를까? 몇 가지 케이스를 아래와 같이 테스트 해 보았다. public class StringTest { @Test public void String_Object_Test() { String msg1 = "Hello"; String msg2 = "Hello"; String msg3 = new String("Hello"); String msg4 = new String("Hello"); String msg5 = new String("Hello").intern(); System.out.println(msg1 == msg2.. 2017. 8. 24. Jackson을 이용한 org.joda.time.DateTime 파싱하기 개발을 진행하다가 문득 "Jackson으로 JSON을 읽거나 쓸 때, DateTime 형은 어떤 포멧을 가질까? 그리고 이를 원하는 포멧으로 지정할 수 있을까?” 라는 의문이 생겼다. 그냥 무작정 해보자. DateTime 형 속성을 하나 갖고 있는 모델이 있다고 가정하자. @Data @AllArgsConstructor public class DateTimeModel { DateTime ymdt; } public class TempTest { private ObjectMapper objectMapper = new ObjectMapper(); @Test public void deserialize() throws Exception { DateTimeModel model = new DateTimeModel(ne.. 2017. 7. 27. Jackson을 이용하여 JSON -> POJO 변환시 POJO에 존재하지 않는 property가 있는 경우 예를 들어보자 { “no”: 1234, “id”: “test”, “name”: “John”, “age”: 20 } @Data public class Member { private int no; private String id; private String name; //private int age; } 위 처럼 되어 있는 경우 Member 객체로 변환할 때 오류가 발생할 것이다. age 라는 속성을 알 수 없기 때문이다. 이를 해결하는 방법은 2가지가 있다.(아마 그 외에도 있으리라 생각되지만 잘 모르겠다.) 1. POJO 클래스에 @JsonIgnoreProperty(ignoreUnknown = true) 를 붙여주는 방법 @JsonIgnoreProperty(ignoreUnknown = true) @Dat.. 2017. 7. 21. 상속 구조의 모델 객체에서 Lombok의 @Builder, @Delegate 사용기 아래 글은 Lombok 1.16.16 기반에서 작성되었다. Lombok에서 @Builder를 사용하다 보니 상속 구조에서 불필요한 코드를 작성해야 하는 경우가 있었다. 예를 들어 아래와 같이 두 모델 객체가 있다고 하자. @Data @AllArgsConstructor public class User { protected String id; protected String name; } @Data public class AdminUser extends User { private String roleId; private String roleName; @Builder public AdminUser(String id, String name, String roleId, String roleName) { super(.. 2017. 4. 21. 이전 1 2 3 4 5 ··· 10 다음