C언어에서는 문자열을 char형 배열로 표현하지만 자바에서는 String 이라는 클래스를 별도로 제공하며
String 클래스에는 문자열과 관련된 작업을 할 때 유용하게 사용할 수 있는 다양한 메소드가 포함되어 있다.
String 클래스는 java.lang 패키지에 포함되어 제공된다.
String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고 변경할 수 없다.
이러한 객체를 자바에서는 불변객체(Immutable Object)라 한다.
더보기
더보기
ex) 자바에서 덧셈(+) 연산자를 이용하여 문자열 결합을 수행하면 기존의 문자열의 내용이 변경되는 것이 아닌 내용이 합쳐진 새로운 String 인스턴스가 생성된다.
메소드 정리
charAt()
해당 문자열의 특정 인덱스에 해당하는 문자를 반환한다.
만약 해당 문자열의 길이보다 큰 인덱스나 음수를 전달하면 IndexOutOfBoundsException 오류가 발생한다.
String str = new String("Java");
System.out.println(str.charAt(0));
System.out.println(str.charAt(2));
// Output
// J
// v
CompareTo()
해당 문자열을 매개변수로 전달된 문자열과 사전 편찬 순으로 비교한다.
- 대소문자를 구분하여 비교
- 두 문자열이 같다면 0, 해당 문자열이 매개변수로 전달된 문자열보다 작으면 음수, 크면 양수를 반환
String str = new String("abcd");
System.out.println(str);
System.out.println(str.compareTo("bcef));
System.out.println(str.compareTo("abcd) + "\n");
System.out.println(str.compareTo("Abcd"));
System.out.println(str.compareToIgnoreCase("Abcd"));
System.out.println(str);
// output
// abcd
// -1
// 0
// 32
// 0
// abcd
concat()
해당 문자열의 뒤에 매개변수로 전달된 문자열을 추가한 새로운 문자열 반환
String str = new String("Hello");
sout(str);
// Output: Hello
sout(str.concat("Java"));
sout(str)
// Hello Java
// Hello
indexOf()
해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스 반환
해당 문자열이 전달된 매개변수의 문자나 문자열이 포함되어 있지 않으면 -1 반환
String str = new String("Hello World");
System.out.println(str.indexOf('o'));
System.out.println(str.indexOf('a'));
System.out.println(str.indexOf("Java"));
System.out.println(str);
// Output
-1
2
7
Hello World
trim()
해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자 제거
String str = new String(" Java ");
System.out.println(str);
System.out.println(str + '|');
System.out.println(str.trim() + '|');
System.out.println(str);
// output
Java
Java |
Java|
Java
toLowerCase() & toUpperCase()
toLowerCase() 메소드는 해당 문자열의 모든 문자를 소문자로 변환
toUpperCase() 메소드는 해당 문자열의 모든 문자를 대문자로 변환
String str = new String("Java");
System.out.println(str);
System.out.println(str.toLowerCase());
System.out.println(str.toUpperCase());
System.out.println(str);
// oputput
Java
java
JAVA
Java
기타 메서드
Method Name | Description |
isEmpty() | 해당 문자열의 길이가 0이면 true, 아니면 false 반환 |
length() | 해당 문자열의 길이를 반환 |
trim() | 해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자 제거 |
toLowerCase() | 해당 문자열의 모든 문자를 소문자로 변환 |
toUpperCase() | 해당 문자열의 모든 문자를 대문자로 변환 |
substring(int beginIndex)) | 해당 문자열의 전달된 매개변수부터 끝까지를 새로운 문자열로 반환 |
substring(int begin, int end)) | 해당 문자열의 전달된 시작 인덱스부터 마지막 인덱스까지를 새로운 문자열로 반환 |
String[] split(String regex) | 해당 문자열의 전달된 정규표현식에 따라 나눠서 반환 |
int lastIndexOf(int ch) | 해당 문자열에서 특정 문자가 마지막으로 등장하는 위치의 인덱스 반환 |
'Programming > Java' 카테고리의 다른 글
[Java] 상속 (0) | 2024.05.01 |
---|---|
[Java] 변수의 타입을 확인하는 방법 (0) | 2023.05.02 |
열거 타입 (Enum) (0) | 2023.05.01 |
[생활 코딩] JAVA1 (0) | 2022.11.16 |
[Java] 문자열 비교 ==, equals() (0) | 2022.07.21 |