본문 바로가기
Java/Java

[Java] String 클래스

by 기록하는_사람 2022. 10. 13.

String 클래스

📌 String 클래스의 인스턴스 생성 방법과 차이점

- str1과 str2가 참조하는 인스턴스는 서로 같음. 

  str3과 str4가 참조하는 인스턴스는 서로 다름. 

String str1 = new String("Hello");
String str2 = new String("Hello");

String str3 = "Hello";
String str4 = "Hello";

 

📌 String 인스턴스는 Immutable 인스턴스임. 

 

💡 Immutable 인스턴스 

: 값이 변하지 않는 인스턴스. 

  인스턴스가 각각 생성되는 게 아니라, 문자열 내용이 같을 경우 하나의 인스턴스를 생성해 서로 공유하는 것을 말함. 

 

📌 하나의 인스턴스를 공유해도 대부분 문제가 되지 않음.

      (String 인스턴스는 그 안에 저장된 데이터를 수정할 수 없고, 참조만 가능한 인스턴스이기 때문에.)

 

String 클래스의 메소드

📌 .length()

: 문자열 길이 반환하는 메소드.

 

📌 public String concat(String str)

: 두 문자열을 연결시킨 값을 반환하는 메소드.

 

📌 public String substring(int beginIndex)

: beginIndex부터 문자열의 뒷부분을 별도의 문자열로 추출해 반환하는 메소드.

 

📌 public String substring(int beginIndex, int endIndex)

: beginIndex부터 endIndex전까지 문자열을 추출해 반환하는 메소드.

 

📌 public boolean equals(Object anObject)

: 문자열 내용이 같으면 true 반환하는 메소드. 

 

📌 public int compareTo(String anotherString)

: 사전 편찬 상 순서를 비교해 값 반환하는 메소드.

  str1.comparaTo(str2)라고 했을 때, 

  str1과 str2의 문자열 내용이 같으면, 0 반환.

  str1의 문자열이 앞서면, 0보다 작은 값 반환.

  str1의 문자열이 뒤서면, 0보다 큰 값 반환. 

 

📌 public int compareToIgnoreCase(String str)

: 문자열을 비교해 값을 반환하는 메소드.(단, 대소문자 구분하지 않음.)

 

📌 static String valueOf( [자료형] [변수명] )

: 기본 자료형의 값을 문자열로 변환하여 반환하는 메소드. 

 

 

 

댓글