[Java] java.lang 패키지 - String 클래스

chael_lo·2021년 5월 17일
0

Java

목록 보기
24/52

String 클래스는 문자열 상수를 저장할 목적의 클래스다.
문자열을 제어하기 위한 메소드를 제공하며,
저장된 문자열의 문자를 변환하는 메소드는 존재하지 않는다.

String 클래스 특징

기호를 이용하여 String 인스턴스를 표현할 경우 동일한 문자열을 저장한 인스턴스가 존재하면 기존 인스턴스를 재사용한다.

String str1="ABC";//String 인스턴스 생성
String str2="ABC";//기존 인스턴스 재사용

참조변수를 관계연산자로 비교할 경우 참조변수에 저장된 인스턴스의 해쉬코드(HashCode)를 비교하여 결과 제공한다.

String str1="ABC";
String str2="ABC";
if(str1==str2) {//true 반환
  실행 명령...
}

new 연산자로 생성자를 호출하여 인스턴스를 생성하면 무조건 새로운 인스턴스 생성한다.

String str1="ABC";
String str3=new String("ABC");
if(str1==str3) {//같지 않아서 false 반환
	
} else {
     실행 명령...
}

String 클래스의 메소드 종류

String.toString()

String 인스턴스에 저장된 문자열을 반환하는 메소드

String str1="ABC";
System.out.println(str1.toString());//출력: ABC

String.equals(String s)

저장된 문자열과 전달받은 문자열을 서로 대소문자를 구분하여 비교하며 다르면 false를 반환하고 같으면 true를 반환하는 메소드

String str1="ABC";
String str3=new String("ABC");
if(str1.equals(str3)) {//true 반환
 실행 명령...
}else{
			
}

String.equalsIgnoreCase(String s)

저장된 문자열과 전달받은 문자열을 대소문자 구분없이 서로 비교하여 다르면 false를 반환하고 같으면 true를 반환하는 메소드

String str1="ABC";
String str4="abc";
if(str1.equalsIgnoreCase(str4)) {//true 반환
  실행 명령...
} else {
			
}

String.compareTo(String s)

저장된 문자열과 전달받은 문자열을 대소문자를 구분하여 비교하여 저장된 문자열이 크면 양수를 반환, 같으면 0을 반환, 전달받은 문자열이 크면 음수를 반환하는 메소드 (크다, 작다, 같다 세가지 비교)

String str1="ABC";
String str4="abc";
if(str1.compareTo(str4)>0){//false 반환
			
}else if(str1.compareTo(str4)==0) {//false 반환
			
}else{//앞의 if문이 둘다 아니어서 출력
   실행 명령...
}

String.length()

저장된 문자열의 문자 갯수를 반환하는 메소드

String str5 = "ABCDEFG";
//문자열의 갯수
System.out.println(str5.length());//출력: 7

String.charAt(int index)

전달받은 첨자위치의 문자를 반환하는 메소드

String str5 = "ABCDEFG";
//문자열의 두번째 위치에 문자 출력
System.out.println(str5.charAt(1));//출력: B

String.indexOf(String str)

전달된 문자열을 검색하여 저장된 위치의 시작첨자를 반환하는 메소드
검색 문자열이 없는 경우 -1 반환한다.

String str5 = "ABCDEFG";

//A 문자열의 저장위치(Index)
System.out.println(str5.indexOf("A"));//출력: 0

//EFG 문자열의 저장위치(Index)
System.out.println(str5.indexOf("EFG"));//출력: 4

String.toUpperCase()

저장된 문자열을 모두 대문자로 변환하여 반환하는 메소드

String.toLowerCase()

저장된 문자열을 모두 소문자로 변환하여 반환하는 메소드

String str6 = "Java Programming";

System.out.println(str6.toUpperCase());//출력: JAVA PROGRAMMING
System.out.println(str6.toLowerCase());//출력: java programming

String.trim()

저장된 문자열의 앞 또는 뒤에 존재하는 모든 공백을 제거하여 반환하는 메소드다. 중간에 있는 공백은 제거가 되지 않는다.

String str7 = "   아메리카노       ";
System.out.println(str7);//출력:    아메리카노       (공백포함)
System.out.println(str7.trim());//출력: 아메리카노

String.replace(String regEx, String replacement)

저장된 문자열에서 검색 문자열 변경 후 반환한다. 정규표현식(String regEx)을 찾아 치환문자열(String replacement)로 변경하여 반환하는 메소드다.

String str8 = "   아이스    아메리카노       ";


System.out.println(str8);//출력:    아이스    아메리카노   


System.out.println(str8.replace(" ","").replace("아이스","따뜻한"));//출력: 따뜻한아메리카노

String.split(String regEx)

저장된 문자열을 전달받은 구분 문자열(정규표현식)로 분리하여 문자열 배열로 반환하는 메소드다. 정규표현식의 메타문자는 \\를 이용하여 Escape 문자로 표현한다.

String str9 = "010-1234-5678";
System.out.println(str9);//출력: 010-1234-5678
		
String[] array = str9.split("-");

System.out.println(array[0]);//출력: 010
System.out.println(array[1]);//출력: 1234
System.out.println(array[2]);//출력: 5678

String.substring(int beginIndex, int endIndex)

저장된 문자열에서 시작첨자(문자 포함)부터 종료첨자(문자 미포함)까지의 문자열을 분리하여 반환하는 메소드다.
시작첨자만 전달할 경우 시작 첨자의 문자부터 마지막 문자까지 분리하여 반환한다.

String str9 = "010-1234-5678";

System.out.println(str9.substring(0,3));//출력: 010
System.out.println(str9.substring(4,8));//출력: 1234
System.out.println(str9.substring(9,13));//출력: 5678

//시작첨자만 전달
System.out.println(str9.substring(9));//출력: 5678
profile
천천히 꾸준히

0개의 댓글