String 클래스 | 설명 |
java.lang.String | Java에서 String 클래스의 문자열과 관련된 작업을 할때 사용하는 메서드가 포함된 클래스 |
charAt() | 해당 문자열의 특정 인덱스에 해당하는 문자를 반환 |
compareTo() | 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교, 대소문자를 구분 |
compareToIgnoreCase() | 해당 문자열을 인수로 전달된 문자열과 사전 편산 순으로 비교, 대소문자를 구분안함 |
concat() | 해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환 |
indexOf() | 해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환 |
trim() | 해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자를 제거 |
toLowerCase() | 해당 문자열의 모든 문자를 소문자로 변환 |
toUpperCase() | 해당 문자열의 모든 문자를 대문자로 변환 |
java.lang.String class
C언어에서는 문자열을 char 자료형 배열로 표현한다. Java에서는 문자열을 위한 String 클래스가 별도로 존재한다. String 클래스에서 문자열과 관련된 작업을 할 때 유용하게 사용할 수 있는 다양한 메서드가 포함되어 있다. 이런 String 클래스는 java.lang 패키지에 포함되어 있다.
String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없다. 이런 객체를 Java에서는 불변 객체(Immutable object)라고 정의한다. 즉 Java에서 덧셈(+) 연산자를 이용해 문자열 결합을 수행하면, 기존 문자열의 내용이 변경이 되는 것이 아니라 내용이 합쳐진 새로운 String 인스턴스가 생성되는 것이다.
charAt() 메서드
JavaScript에 내장 함수로 있는 CharAt()과 유사하게 이것은 해당 문자열의 특정 인덱스에 해당하는 문자를 리턴해준다. 만약 해당이 되는 문자열의 길이보다 큰 인덱스나 음수를 전달하면 오류가 발생하게 된다.
1
2
3
4
5
6
7
8
|
String str = new String("Java");
System.out.println("원본 문자열 : " + str);
for (int i = 0; i < str.length(); i++) {
System.out.print(str.charAt(i) + " ");
}
System.out.println("\ncharAt() 메소드 호출 후 원본 문자열 : " + str);
|
cs |
compareTo() / compareToIgnoreCase() 메서드
이것은 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교를 한다. comapreTo()는 대소문자를 구분해 비교를 하고, compareToIgnoreCase()는 대소문자를 구분하지 않고 비교를 한다.
1
2
3
4
5
6
7
8
9
|
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("compareTo() 메소드 호출 후 원본 문자열 : " + str);
|
cs |
concat() 메서드
JavaScript의 concat()과 같은 기능을 수행한다. 해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환하는데 만약 인수로 전달된 문자열의 길이가 0이면, 해당 문자열을 그대로 반환한다.
1
2
3
4
5
|
String str = new String("Java");
System.out.println("원본 문자열 : " + str);
System.out.println(str.concat("수업"));
System.out.println("concat() 메소드 호출 후 원본 문자열 : " + str);
|
cs |
indexOf() 메서드
JavaScript의 indexOf()와 같다. 해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환한다. 만약 해당 문자열에 전달된 문자나 문자열이 존재하지 않으면 -1을 반환한다.
1
2
3
4
5
6
7
|
String str = new String("Oracle Java");
System.out.println("원본 문자열 : " + str);
System.out.println(str.indexOf('o'));
System.out.println(str.indexOf('a'));
System.out.println(str.indexOf("Java"));
System.out.println("indexOf() 메소드 호출 후 원본 문자열 : " + str);
|
cs |
trim() 메서드
JavaScript의 trim()과 같으며 해당 문자열의 앞/뒤의 모든 공백 문자(스페이스)를 제거한다.
1
2
3
4
5
6
|
String str = new String(" Java ");
System.out.println("원본 문자열 : " + str);
System.out.println(str + '|');
System.out.println(str.trim() + '|');
System.out.println("trim() 메소드 호출 후 원본 문자열 : " + str);
|
cs |
toLowerCase() / toUpperCase() 메서드
toLowerCase()는 해당 문자열의 모든 문자를 소문자로 변환시키고, toUpperCase()는 해당 문자열의 모든 문자를 대문자로 변환시킨다.
1
2
3
4
5
6
|
String str = new String("Java");
System.out.println("원본 문자열 : " + str);
System.out.println(str.toLowerCase());
System.out.println(str.toUpperCase());
System.out.println("두 메소드 호출 후 원본 문자열 : " + str);
|
cs |
그 외 String 메서드
메서드명 | 설명 |
char charAt(int index) | 해당 문자열의 특정 인덱스에 해당하는 문자를 반환 |
int compareTo(String str) | 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교 |
int compareToIgnoreCase(String str) | 해당 문자열을 인수로 전달된 문자열과 대소문자를 구분하지 않고 사전 편찬 순으로 비교 |
String concat(String str) | 해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환 |
int indexOf(int ch) | 해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환 |
int indexOf(String str) | |
int indexOf(int ch, int fromIndex) | 해당 문자열에서 특정 문자나 문자열이 전달된 인덱스 이후에 처음으로 등장하는 위치의 인덱스를 반환 |
int indexOf(String str, int fromIndex) | |
int laseIndexOf(int ch) | 해당 문자열에서 특정 문자가 마지막으로 등장하는 위치의 인덱스를 반환 |
int lastIndexOf(int ch, int fromIndex) | 해당 문자열에서 특정 문자가 전달된 인덱스 이후에 마지막으로 등장하는 위치의 인덱스를 반환 |
String[] split(String regex) | 해당 문자열을 전달된 정규 표현식(Regular expression)에 따라 나눠서 반환 |
String substring(int beginIndex) | 해당 문자열의 전달된 인덱스로부터 끝까지를 새로운 문자열로 반환 |
String substring(int begin, int end) | 해당 문자열의 전달된 시작 인덱스부터 마지막 인덱스까지를 새로운 문자열로 반환 |
String toLowerCase() | 해당 문자열의 모든 문자를 소문자로 변환 |
String toUpperCase() | 해당 문자열의 모든 문자를 대문자로 변환 |
String trim() | 해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자(스페이스)를 제거 |
length() | 해당 문자열의 길이를 반환 |
isEmpty() | 해당 문자열의 길이가 0이면 true를 아니면 false를 반환 |
'프로그래밍 공부 > Java' 카테고리의 다른 글
Java - 제네릭(Generic) (0) | 2020.02.24 |
---|---|
Java - Java API 클래스 : Arrays 클래스 (0) | 2020.02.24 |
Java - Java API 클래스 : Object 클래스 (0) | 2020.02.21 |
Java - Java의 다형성 예제 (0) | 2020.02.21 |
Java - 내부 클래스(Inner class) (0) | 2020.02.21 |