공부/Java

자바의 신 15장. String

heeyeon 2024. 2. 25. 00:22
  • String 클래스는 final 클래스로 자식클래스를 양산할 수 없고 있는 그대로 사용해야 한다.(불변성)
  • String 클래스가 구현한 인터페이스에는 Serializable, Comparable<String>, CharSequence가 있다.
    • Serializable : 구현해야 하는 메소드 없음, 해당 객체를 파일로 저장하거나 다른 서버에 전송 가능한 상태가 됨
    • Comparable<String> : compareTo()
    • CharSequence : 해당 클래스가 문자열을 다루기 위한 클래스라는 것을 명시적으로 나타냄
  • String 클래스의 생성자 중 가장 사용할 필요가 없는 생성자는 기본생성자인 String()이다.
  • String 문자열을 byte 배열로 만드는 메소드의 이름은 getBytes()이다.
  • String 문자열의 메소드를 호출하기 전에 반드시 점검해야 하는 사항은 객체가 null인지 확인하는 것이다.
  • String 문자열의 길이를 알아내는 메소드는 length()이다.
  • String 클래스의 equals() 메소드와 compareTo() 메소드의 공통점과 차이점
    • 공통점 : 매개 변수로 넘어온 값과 String 값을 비교하는 메소드
    • 차이점 : equals()의 리턴 타입은 boolean이고 compareTo()의 리턴 타입은 int로 같으면 -1(하나 앞일 때), 0(같을 때), 1(하나 뒤일 때) 등의 값으로 리턴된다.
  • 문자열이 "서울시"로 시작하는지를 확인하려면 String의 startsWith("서울시") 메소드를 사용해야 한다.
  • 문자열에 "한국"이라는 단어의 위치를 찾아내려고 할 때는 String의 indexOf( "한국" ) 메소드를 사용해야 한다. 값이 없을 때 결과값은 -1이다.
  • 문자열의 1번째부터 10번째 위치까지의 내용을 String으로 추출하려면 subString(0, 9) 메소드를 사용해야 한다.
  • 문자열의 모든 공백을 * 표시로 변환하려면 replace(" ", "*") 메소드를 사용해야 한다.
  • String의 단점을 보완하기 위한 클래스에는 StringBuffer와 StringBuilder가 있다. 이 클래스에서 문자열을 더하기 위한 메소드는 append()이다.