'string'에 해당되는 글 2건
Java 에서 문자열 비교할때 equals() 말고 == (비교연산자) 로 비교하기
Java 2011. 11. 24. 22:43
왠지 도움이 될것 같다면 추천을 *(-_-)*
오늘 이클립스에서 작업하다 스트링 객체 다음에 . 을 찍고 뭐 쓸만한게 없나 문득 살펴봤다.
왠지 늘 쓰던거만 쓰면 재미없지 않은가! 뭐 재미진 메소드가 없나 하는 요런 마음?
고러던 와중 그동안 즌혀 관심 1g 조차 없었던 intern() 이라는 메소드가 보였다.
이클립에서 뽓 튀어 나오는 설명을 대충 쪽 읽어보니 == 으로 스트링이 똑같은지 비교를 해주게 하는것 같았다.
뭐! 요런게 있었던 말이가! 하면서 요즘 나온 JAVA7 에 새로 추가된 메소드 인가 하고 API 를 찾아보니 JDK 1.3 부터도 있었던 메소드였다 -_-;;
아무튼 요 메소드를 쓸 일은 거의 1% 미만이지만 왠지 재미진것 같으니깐 알아는 둬야지
대충 요딴식으로 사용한다.
String a = new String("3269"); String b = new String("3269"); System.out.println(a == b); // false System.out.println(a.intern() == b); // false System.out.println(a.intern() == b.intern()); // true
음 막상 코드를 작성하고 나서 보니 "3269".equals(a); 가 훨씬 더 좋구나 라고 생각이 든다 -_-; 분명히 무슨 용도가 있기 때문에 맹근 메소드일껀데 아직까진 그 용도가 잘 파악이 안된다.
※ 비교연산자는 == 요것만 되는것 같다 < , > 요런건 안됨. 컴파일 에러남
2011/11/23 - [Java] - xpath 를 이용, java 에서 xml 문서 쉽게 파싱하기
2011/11/16 - [Java] - JAVA/JSP SQL Injection 해킹 방지를 위한 코딩
2011/10/10 - [Java] - Runtime 에 jar 파일 클래스패스에 추가 시키기 : RuntimeJarLoader
2011/09/27 - [Java] - JDK 설치시 이것저것 물어보는 대화창 없이 커맨드창에서 한번에 쭉 설치하기(Winodws)
2011/08/12 - [Java] - Java JSON 처리 라이브러리 Jackson JSON Processor #1 : Map, List 를 JSON String으로~
2011/11/16 - [Java] - JAVA/JSP SQL Injection 해킹 방지를 위한 코딩
2011/10/10 - [Java] - Runtime 에 jar 파일 클래스패스에 추가 시키기 : RuntimeJarLoader
2011/09/27 - [Java] - JDK 설치시 이것저것 물어보는 대화창 없이 커맨드창에서 한번에 쭉 설치하기(Winodws)
2011/08/12 - [Java] - Java JSON 처리 라이브러리 Jackson JSON Processor #1 : Map, List 를 JSON String으로~
'Java' 카테고리의 다른 글
Java 정규표현식으로 문자열 중에서 ip 문자열을 배열로 추출하기 (0) | 2012.05.31 |
---|---|
Java Servlet과 jQuery를 이용한 환율정보(from 네이버) 가져오기 (6) | 2012.05.24 |
Java에서 파일로 부터 데이터 읽어서 정렬(bubble sort)하기 (0) | 2011.11.24 |
xpath 를 이용, java 에서 xml 문서 쉽게 파싱하기 (5) | 2011.11.23 |
재귀함수(Recursive funtion)을 이용한 특정 폴더 아래의 모든 파일정보 읽어서 출력하기 (0) | 2011.11.16 |
Java JSON 처리 라이브러리 Jackson JSON Processor #2 : Map, List <--> JSON String 상호변환
Java 2011. 8. 19. 23:30
JSON 문자열을 Map 이나 List Object 로 변환하는 것이랑
JSON 문자열을 xml 다루듯이 트래버싱 하는것,
Map 이나 List Object 를 JSON 문자열로 변환하는것 요래 정리를 해 보았다.
뭐 요정도만 알면 대충 할 수 있는건 다 할 수 있을듯하다. 뭐 필요하면 더 그때가서 더 찾아보면 되긋지~
JSON 문자열을 xml 다루듯이 트래버싱 하는것,
Map 이나 List Object 를 JSON 문자열로 변환하는것 요래 정리를 해 보았다.
뭐 요정도만 알면 대충 할 수 있는건 다 할 수 있을듯하다. 뭐 필요하면 더 그때가서 더 찾아보면 되긋지~
package test; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.codehaus.jackson.JsonNode; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; public class Test { /** * @param args */ public static void main(String[] args) throws Exception{ // 테스트 데이터 : 맵에 string 2개랑 list 하나가 들어가 있는 형태 List<String> list = new ArrayList<String>(); list.add("list1"); list.add("list2"); list.add("list3"); Map<String, Object> d = new HashMap<String, Object>(); d.put("list", list); d.put("a", "va"); d.put("b", "vb"); //////////////////////////////////////////////// ObjectMapper om = new ObjectMapper(); // Map or List Object 를 JSON 문자열로 변환 String jsonStr = om.writeValueAsString(d); System.out.println("object to json : " + jsonStr); // JSON 문자열을 Map or List Object 로 변환 Map<String, Object> m = om.readValue(jsonStr, new TypeReference<Map<String, Object>>(){}); System.out.println("json to object : " + m); // JSON 문자열을 xml 다루는것과 비슷하게 트리로 맨들어서 트래버싱하기(Tree Model) JsonNode root = om.readTree(jsonStr); // 단일값 가져오기 System.out.println("b의 값 : " + root.path("b").getValueAsText()); // 배열에 있는 값들 가져오기 if( root.path("list").isArray() ){ Iterator<jsonnode> it = root.path("list").iterator(); // 요래 해도 됨 // Iterator<jsonnode> it = root.path("list").getElements() while(it.hasNext()){ System.out.println(it.next().getTextValue()); } } // 이외 getXXXValue() 시리즈, findParent(), findValue() 등등 유용한 함수 많음~ } }