ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 String 클래스
    자바 2021. 3. 14. 23:01

    한번 생성된 String인스턴스가 갖고 있는 문자열은 읽어 올 수만 있고, 변경할 수는 없다.

    예를 들어 +연산자를 이용해서 문자열을 결합하는 경우 인스턴스 내의 문자열이 바뀌는 것이 아니라 새로운 문자열이 담긴 String인스턴스가 생성되는 것이다. 연산 시 마다 새로운 문자열을 가진 String인스턴스가 생성되어 메모리 공간을 차지하기 때문에 가능한 한 변경이 가능한 StringBuffer 클래스를 사용하는 것이 좋다.

     

    StringBuffer의 비교

    - String 클래스와 달리 equals메서드를 오버라이딩 하지 않았기 때문에 값을 비교하기 위해서는 오버라이딩 된 toString()을 호출해서 String인스턴스를 얻은 다음, 여기에 equals메서드를 사용해야 한다.

    StringBuilder

    - StringBuffer는 멀티쓰레드에 안전하도록 동기화 되어있다. 동기화는 성능을 떨어뜨리는데 멀티쓰레드로 작성된 프로그램이 아닌 경우, StringBuffer의 동기화는 불필요하게 성능만 떨어뜨리게 된다.

    그래서 StringBuffer의 쓰레드의 동기화만 뺀 StringBuilder가 새로 추가되었다.

     

     

    남궁성,『Java의 정석』,도우출판

    '자바' 카테고리의 다른 글

    자바 다형성(polymorphism)  (0) 2021.03.14
    접근 제어자  (0) 2021.03.14
    자바 객체지향  (0) 2021.03.12
    자바의 변수(variable)에 대해서  (0) 2021.03.10
    JVM(Java Virtual Machine)  (0) 2021.03.10
Designed by Tistory.