java에서 char[]를 쓰는경우가 어떤경우가있을까여? 비밀번호말고
조회수 1540회
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
첫째는 String 은 클래스입니다. char는 프리미티브 타입이구요.
물론 String 이라는 것도 결국 char 의 배열일뿐입니다. 실제 String 소스를 보면 char[]를 이용합니다.
즉 String 클래스는 char[] 를 편리하게 사용하게 해주는 용도는 맞습니다.
사실 더 중요한 질문은 String a = "abcde"; 와 String a = new String("abcde"); 의 차이입니다.
jvm 에서 상수풀이라는 공간이 있습니다.
그곳에 문자열도 저장이 되는데 new 로 생성했을때는 예상했다시피 힙에 생성이 됩니다.
즉 new로 생성했을때와 리터럴로 생성된 객체가 다른 곳에 저장이 됩니다.
좀 더 정확히는 permanent 영역입니다. 가끔 이클립스등 클래스가 많은 자바 프로그램을 수행할 때 permgen 메모리가 부족하다고 하면서 수행이 안되는 것을 보신적이 있을텐데 그곳입니다.
댓글 입력