(1).compareTo(): 사전순 비교에 따라 양수/음수 반환 → 해당 값을 정렬 등에 사용 가능
compareTo는 String을 인자로 넣어서 int를 반환함
(2).compareToIgnoreCase(): 대소문자 구분 없이 사전순 비교하여 양수/음수 반환
대소문자 변환
(1).toUpperCase(): 모두 대문자로 변환
(2).toLowerCase(): 모두 소문자로 변환
toUpperCase와 toLowerCase는 String을 반환함
"Hi! How are you? I'm fine. Thank you!"와 같이 대소문자가 섞여 있는 텍스트가 "how"를 포함하는지 확인 시 "how"가 텍스트에서 대문자를 포함하여 적혀있을 수도 있기 때문에 모두 대문자/소문자로 바꿔서 비교하여야 정확하게 포함 여부를 확인할 수 있음
▲ ★메서드 체이닝 → String을 반환하는 메서드들은 반복해서 사용가능
.concat() : 이어붙이기
concat은 string을 인자로 받아 string으로 반환하므로 메서드 체이닝이 가능함
※ +연산자와의 차이
1. concat에는 문자열만 이어붙일 수 있음
2. concat은 필요 시에만 새 인스턴스 생성
3. null이 포함될 경우 +연산자는 null과 이어붙이기가 가능하지만 concat은 NullPointerException 발생
4. ★"다중 연산 시" 생성되는 문자열 인스턴스의 수가 다름★
concat은 매번 문자열을 반환하여 메모리를 더 많이 차지함
+ 연산 → 다중 연산시 메모리 절약
⚠️ 반복 연산 (이후 배울 for 루프 등) 에는 무의미
반복 연산시에는 명시적으로 StringBuilder... append 사용
성능이 중요하다면 이후 배울 StringBuilder, StringBuffer 등 사용
그렇지 않을 시 상황에 따라 메서드 체이닝 등의 편의를 위해 concat 사용
.repeat(횟수) : 문자열을 주어진 정수만큼 반복하기
repeat은 int를 인자로 받아 string을 반환함
.substring() : ~번째 문자부터 (~번째 문자 전까지) 잘라서 반환
substring은 int를 인자로 받아 string으로 반환함
치환
(1) .replace(앞, 뒤) : 주어진 앞의 문자(열)을 뒤의 문자(열)로 치환
치환하려는 문자열의 길이가 달라도 상관없음
replace는 string을 반환하므로 메서드 체이닝 가능
(2).replaceAll(앞, 뒤): 주어진 앞의 정규표현식에 일치하는 모든 부분을 뒤의 문자(열)로 치환
(3).replaceFirst(앞, 뒤): 주어진 앞의 정규표현식에 일치하는 부분 중 첫 번째만 뒤의 문자(열)로 치환