String 클래스
: Java.lang 패키지에 존재하는 클래스로 문자열을 처리하는 여러가지 메소드를 제공
제공하는 메소드
charAt()
: 해당 문자열의 특정 인덱스에 해당하는 문자를 반환
인덱스를 벗어난 정수를 인자로 전달하면 IndexOutOfBoundsException 발생
String str1 = "apple";
for(int i = 0; i < str1.length(); i++) {
System.out.println("charAt(" + i + ") : " + str1.charAt(i));
}
출력 결과
charAt(0) : a
charAt(1) : p
charAt(2) : p
charAt(3) : l
charAt(4) : e
compareTo()
: 인자로 전달된 문자열과 사전 순으로 비교
두 문자열이 같으면 0
인자로 전달된 문자열보다 작으면 음수 , 크면 양수 반환
대소문자를 구분하여 비교함
String str2 = "java";
String str3 = "java";
String str4 = "JAVA";
String str5 = "oracle";
1) "java" 와 "java" 비교
System.out.println("compareTo() : " + (str2.compareTo(str3)));
=> compareTo() : 0
2) "java" 와 "JAVA" 비교
System.out.println("compareTo() : " + (str2.compareTo(str4)));
System.out.println("compareTo() : " + (str4.compareTo(str2)));
=> compareTo() : 32
compareTo() : -32
소문자가 대문자보다 크다
3) "java" 와 "oracle" 비교
System.out.println("compareTo() : " + (str2.compareTo(str5)));
System.out.println("compareTo() : " + (str5.compareTo(str2)));
=> compareTo() : -5
compareTo() : 5
jklmno j부터 o까지 5만큼 차이가 난다
숫자 의미는 중요하지 않고 양수인지 음수인지를 판단할 목적으로 주로 사용
concat()
: 문자열에 인자로 전달 된 문자열을 합치기
원본 문자열에는 영향을 주지 않음
String str2 = "java";
String str5 = "oracle";
System.out.println("concat() : " + (str2.concat(str5)));
=> concat() : javaoracle
System.out.println("str2 : " + str2);
=> str2 : java 원본영향x
indexOf()
: 문자열에서 특정 문자를 탐색하여 처음 일치하는 인데스 위치를 정수형으로 반환
일치하는 문자가 없는 경우 -1 반환
String indexOf = "java oracle";
System.out.println("indexOf('a') : " + indexOf.indexOf('a'));
=> indexOf('a') : 1
System.out.println("indexOf('z') : " + indexOf.indexOf('z'));
=> indexOf('z') : -1
lastIndexOf()
: 문자열 탐색을 뒤에서부터 하고 처음 일치하는 위치의 인덱스를 반환
일치하는 문자가 없는 경우 -1 반환
String indexOf = "java oracle";
System.out.println("lastIndexOf('a') : " + indexOf.lastIndexOf('a'));
=>lastIndexOf('a') : 7
System.out.println("lastIndexOf('z') : " + indexOf.lastIndexOf('z'));
=>lastIndexOf('z') : -1
trim()
: 문자열 앞 뒤에 공백을 제거한 문자열을 반환
원본 영향x
String trimStr = " java ";
System.out.println("trimStr : #" + trimStr + "#");
=> trimStr : # java #
System.out.println("trim() : #" + trimStr.trim() + "#");
=> trim() : #java#
toLowerCase()
: 모든 문자를 소문자로 변환
원본 영향x
String caseStr = "JavaOracle";
System.out.println("toLowerCase() : " + caseStr.toLowerCase());
=>toLowerCase() : javaoracle
toUpperCase()
: 모든 문자를 대문자로 변환
원본 영향x
String caseStr = "JavaOracle";
System.out.println("toUpperCase() : " + caseStr.toUpperCase());
=> toUpperCase() : JAVAORACLE
substring(start index, end index)
: 문자열의 일부를 잘라내어 새로운 문자열 반환
end index 는 입력한 정수 -1 값까지 반환
start index만 있으면 마지막 index까지 반환
원본 영향x
String javaoracle = "javaoracle";
System.out.println("substring(3, 6) : " + javaoracle.substring(3, 6));
=> substring(3, 6) : aor
System.out.println("substring(3) : " + javaoracle.substring(3));
=> substring(3) : aoracle
repalce()
: 문자열에서 대체할 문자열로 기존 문자열을 변경해서 반환
원본 영향x
String javaoracle = "javaoracle";
System.out.println("replace() : " + javaoracle.replace("java", "python"));
=> replace() : pythonoracle
length()
: 문자열의 길이를 정수형으로 반환
배열에서의 length와 다름
length()는 메소드!
String javaoracle = "javaoracle";
System.out.println("length() : " + javaoracle.length());
=> length() : 10
System.out.println("빈 문자열 길이 : " + ("".length()));
=> 빈 문자열 길이 : 0
isEmpty()
: 문자열의 길이가 0이면 true, 아니면 false
길이가 0인 문자열은 null값과는 다름
System.out.println("isEmpty() : " + "".isEmpty());
=>isEmpty() : true
System.out.println("isEmpty() : " + "abc".isEmpty());
=>isEmpty() : false
'프로그래밍 > java' 카테고리의 다른 글
[자바 / Java] 이스케이프 문자 사용 (0) | 2022.09.03 |
---|---|
[자바/Java] String 클래스의 hashCode()와 equals() (0) | 2022.08.29 |
[자바/Java] hashCode() , equals() (0) | 2022.08.29 |
[자바 Java] API (0) | 2022.08.29 |
[자바JAVA] 추상클래스와 인터페이스 (0) | 2022.07.14 |