String클래스는 문자열을 다룰때 사용하는 클래스
String클래스는 불변클래스 이다.
String str1 = "hello world";
String str2 = str1.substring(5);
System.out.println(str1);
System.out.println(str2);
실행결과
hello world
world
기존의 str1은 전혀 변화 없다.
substring메소드는 5번째 부터 문자열을 잘라서 새로운 문자열을 반환하는 메소드
str1자체는 전혀 변화가 없다.
String클래스를 사용할 때 가장 문제가 발생하는 경우는 다음과 같은 코드를 사용할 때 입니다.
String str3 = str1 + str2;
System.out.println(str3);
실행결과
hello world world
문자열과 문자열을 더하게 되면 내부적으로는 다음과 같은 코드가 실행
String str4 = new StringBuffer().append(str1).append(str2).toString();
System.out.println(str4);
문자열을 반복문 안에서 더하는 것은 성능상 문제가 생길 수 있으니 반드시 피하도록 합시다.