본문 바로가기
Language/JAVA

[JAVA]String 클래스

by 바까 2020. 7. 1.
반응형

String 클래스

자바는 문자열을 사용할 수 있도록 Stirng 클래스를 제공한다.

Stirng을 사용할 때 문자열을 생성자의 매개변수로 하여 생성하는 방식과 이미 생성된 문자열 상수를 가리키는 방식이 있다.

[예시]
Stirng str1 = new String("abc");
Stirng str2 = "def";  <- 리터럴 상수, 문자열 상수
String str3 = new String("abc");
String str4 = "def";

[실습] 주소값 비교하기 

public class StringTest1 {

	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//str1과 str2 객체를 생성
		String str1 = new String("abc");
		String str2 = new String("abc");
		
		//인스턴스가 매번 새로 생성되므로 str1과 str2의 주소값이 다르므로 false를 반환
		System.out.println(str1==str2);					//false
		//문자열 값은 같으므로 true를 반환
		System.out.println(str1.contentEquals(str2));	//true
		
		//str3과 str4 객체를 생성합니다.
		String str3 = "abc";
		String str4 = "abc";
		
		//문자열 abc는 상수풀(constant pool)에  저장되어 있으므로 str3과 str4가
		//가리키는 주소가 같으므로 true를 반환
		System.out.println(str3==str4);					//true
		//문자열 값도 같으므로 true를 반환
		System.out.println(str3.contentEquals(str4));	//true
	}

}

[실습] 두 문자열 연결하기

public class StringTest2 {

	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//str1 객체를 생성
		String str1 = new String("JAVA");
		//str2 객체를 생성
		String str2 = new String("Study");
		
		//문자열 str1과 문자열 str2를 연결하여 문자열 str1에 대입
		str1 = str1.concat(str2);
		
		//문자열 str1을 출력
		System.out.println(str1);	//JAVAStudy 출력
	}

}

 

*concat()메소드 : 두 문자열 연결

[실습]StringBuilder 클래스를 이용하여 문자열 연결하기

public class StringBuilderTest {


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//문자열 str1 객체를 생성
		String str1 = new String("JAVA");
		
		//String으로부터 StringBuilder를 생성
		StringBuilder buffer = new StringBuilder(str1);
		
		//문자열을 추가
		buffer.append("Study");
		
		//String 클래스로 반환
		str1 = buffer.toString();
		
		//문자열 str1을 출력합니다.
		System.out.println(str1);	//JAVAStudy 출력
		
	}

}

 

반응형

'Language > JAVA' 카테고리의 다른 글

[JAVA]내부클래스  (0) 2020.07.01
[JAVA]StringBuffer VS StirngBuilder  (0) 2020.07.01
[JAVA]Object 클래스  (0) 2020.07.01
[JAVA] 인터페이스 상속  (0) 2020.06.29
[JAVA]인터페이스와 다형성  (0) 2020.06.29

댓글