자바에서 자주 사용돠는 문자열 관련 메소드에 대해 정리했다.
equals : 두개의 문자열이 동일한지를 비교하여 결과값을 리턴한다.
indexOf : 문자열에서 특정 문자열이 시작되는 위치(인덱스)를 리턴한다.
contains : 문자열에서 특정 문자열이 포함되어 있는지의 여부를 리턴한다.
charAt : 문자열에서 특정 위치의 문자를 리턴한다.
replace : 문자열에서 특정문자열을 다른 문자열로 바꾸고 싶을 때 사용한다.
substring : 문자열에서 특정 문자열을 뽑아낼 경우에 사용한다.
toUpperCase : 문자욜을 모두 대문자로 변경할 때 사용한다.
toLowerCase : 문자열을 모두 소문자로 변경할 때 사용한다.
split :문자열을 특정 구분자로 나누어 문자열 배열로 리턴한다.
new
메소드를 사용해 만든 문자열이더라도 문자열이 동일하면 true
리턴boolean
✍️예시코드
String aString = "안녕하세요";
String bString = "안녕하세요";
String cString = new String("안녕하세요");
System.out.println( aString.equals(cString)); //true
System.out.println( aString.equals(bString)); //true
System.out.println( bString.equals(cString)); //true
==
과의 차이점==
는 동일한 객체인지를 판단한다. (메모리값 주소 확인) System.out.println( aString == bString ); //true
System.out.println( aString == cString ); //false
System.out.println( bString == cString ); //false
✍️ 예시코드
String b = "abc";
StringBuffer c = new StringBuffer("abc");
System.out.println(a.contentEquals(b)); // true
System.out.println(a.contentEquals(c)); // true
🔍 다른객체와 문자열을 비교하고 싶을 때는 contentEquals
을 사용하면 된다.
-1
을 반환한다.✍️ 예시코드
String a = "Hello java Hello";
System.out.println(a.indexOf("Hello")); // 0
System.out.println(a.indexOf("b")); // -1
boolean
✍️ 예시코드
String a = "Hello java Hello";
System.out.println(a.contains("H")); //true
System.out.println(a.contains("k")); //false
✍️ 예시코드
String a = "Hello java Hello";
System.out.println(a.charAt(0)); //H
❗문자열 인덱스의 최대값보다 큰 값을 물어보면 error가 난다...
int num = str.charAt(i) - '0';
✍️ 활용코드
String numbers = "12345";
// 숫자로 구성된 String 변수에서 특정 숫자를 바로 int 변수로 가져올 수 있다.
int targetNumber1 = numbers.charAt(0) - '0'; //1
int targetNumber2 = numbers.charAt(1) - '0'; //2
int targetNumber3 = numbers.charAt(2) - '0'; //3
int targetNumber2 = numbers.charAt(3) - '0'; //4
int targetNumber3 = numbers.charAt(4) - '0'; //5
종료 인덱스 -1
까지 출력한다. 종료인덱스에 해당하는 부분은 추출하지 않는다.✍️ 예시코드
String a = "0123456789";
//인덱스 6의 값은 추출하지 않는다.
System.out.println(a.substring(3, 6)); //345
System.out.println(a.substring(6)); //6789
❗더 큰 인덱스 선언 시 에러발생
toUpperCase
: 문자열을 모두 대문자로 변경한다.toLowerCase
: 문자열을 모두 소문자로 변경한다.✍️ 예시코드
String a = "Hello Java";
System.out.println(a.toUpperCase()); //HELLO JAVA
System.out.println(a.toLowerCase()); //hello java
🔍 한글로 했을 때는 아무변화 없음. 오류도 없음
✍️ 예시코드
String a = "a:b:c:d";
String[] result = a.split(":"); // result는 {"a", "b", "c", "d"}
System.out.println(result[0]);
어깨 재활운동을 해야할 것 같다.
다양한 메소드들을 정리해봤다.