JAVA
[Java] String Immutable
String 과 StringBuffer, StringBuilder 의 가장 큰 차이점은 Immutable 속성이다. 빌더와 버퍼는 변경이 가능한 객체이지만 스트링은 불변(immutable)하다. 이 속성 때문에 String에 + 연산자를 사용하게 되면 시간복잡도가 기하급수적으로 늘게 된다. 밑에 제출이 String에 + 연산을 사용해서 출력한것이고 위에 제출이 StringBuilder만 이용해서 해결한 코드이다. 보이는 것처럼 실행시간이 엄청나게 차이가 난다.. String은 결국 참조 타입임에도 불구하고 직접적으로 new 연산자를 통해 객체를 생성에 메모리에 올려 사용하기보단 String s = "Hello" 와 같이 문자열 리터럴형태로 사용이 허용된다. 하지만 이 String 객체는 최초에 한번 생성..
2021. 8. 25. 21:33
최근댓글