java에서 char[]를 쓰는경우가 어떤경우가있을까여? 비밀번호말고

조회수 1540회

java에서 char[]도 있고 string도있는데 string을 더 많이쓰잔아요 그이유가 더 쉬워서인가요? char[]를 안쓰는이유가있을까여?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 첫째는 String 은 클래스입니다. char는 프리미티브 타입이구요.

    물론 String 이라는 것도 결국 char 의 배열일뿐입니다. 실제 String 소스를 보면 char[]를 이용합니다.

    즉 String 클래스는 char[] 를 편리하게 사용하게 해주는 용도는 맞습니다.

    사실 더 중요한 질문은 String a = "abcde"; 와 String a = new String("abcde"); 의 차이입니다.

    jvm 에서 상수풀이라는 공간이 있습니다.

    그곳에 문자열도 저장이 되는데 new 로 생성했을때는 예상했다시피 힙에 생성이 됩니다.

    즉 new로 생성했을때와 리터럴로 생성된 객체가 다른 곳에 저장이 됩니다.

    좀 더 정확히는 permanent 영역입니다. 가끔 이클립스등 클래스가 많은 자바 프로그램을 수행할 때 permgen 메모리가 부족하다고 하면서 수행이 안되는 것을 보신적이 있을텐데 그곳입니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)