실행하면 hello의 3번 인덱스부터 나머지 부분만 출력됩니다. 인덱스는 0번부터 시작한다는 것, 까먹지 않았죠? 자, 이때 str1을 다시 출력하겠습니다.
package javaStudy;
public class StringExam {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
String str4 = new String("hello");
System.out.println(str1);
System.out.println(str1.substring(3));
System.out.println(str1);
}
}
실행결과
hello lo hello
그러면 str1 자체는 전혀 바뀌지 않고 그대로 출력됩니다. 이렇게 한번 만들어진 String 클래스의 값은 변하지 않습니다. String 클래스가 가진 메서드들은 모두 String 값을 반환합니다.