JAVA

[JAVA] lang package - String

해니01_15 2023. 3. 4. 20:41

java.lang.String 클래스

자바에서는 문자열을 위한 String이라는 클래스를 별도로 제공한다. String 클래스에는 문자열과 관련된 작업을 할 때 유용하게 사용할 수 있는 다양한 메소드가 포함되어 있다. String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없다는 단점이 있고 이러한 객체를 자바에서는 불변 객체(immutable object)라고 한다. 즉, 자바에서 덧셈(+) 연산자를 이용하여 문자열 결합을 수행하면, 기존 문자열의 내용이 변경되는 것이 아니라 내용이 합쳐진 새로운 String 인스턴스가 생성되는 것이다. 

 

대표적인 String 메소드 예제

package Lang;

public class StringMethod {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		String a = "aasfcgdfsdfa";
		String b = "def,asdf,asdfs,asdfsd";

		System.out.println("a : " + a);
		System.out.println("b : " + b);
        
		System.out.println("a.charAt(1)" + a.charAt(1));
		// char : charAt()안에 있는 숫자에 해당하는 위치에 있는 a 값이 뭐니?
		System.out.println("a.concat(b)" + a.concat(b));
		// concat :  a 와 b 문자를 더해라
		System.out.println("a.indexOf(\"c\")" + a.indexOf("c"));
		// indexOf 처음부터 찾아서 ()안의 글자의 위치
		System.out.println("a.lastIndexOf(\"a\")" + a.lastIndexOf("a"));
		// lastIndexOf : 끝에서부터 찾는서 ()안의 글자 위치는?
		System.out.println("a.length()" + a.length());
		// length : 글자의 길이
		System.out.println("a.replace(\"cg\", \"kkk\")" + a.replace("cg", "kkk"));
		// replace : (이거에서, 이걸로) 바꿔라
		// replace 한다고 계속 그 값이 바뀌는건 아니고 어딘가 써먹을 때를 위해 대체 해놓는것
		System.out.println("a.toUpperCase()" + a.toUpperCase());
		// toUpperCase : 대문자로 바꿔라
		System.out.println("a.substring(2, 6)" + a.substring(2, 6));
		// substring (여기에서, 여기까지 ) 2번부터 6번까지

		String[] arr = b.split(","); // 문자열 쪼개기 콤마를 기준으로
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

 

 

메소드 설명
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 lastIndexOf(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를 반환함.

출처 : tcpschool