String 클래스

Codren·2021년 6월 3일
0
post-custom-banner

Section 1. String 클래스

1. String 클래스

Java 에서 문자열을 다루는 클래스이며 java.lang 패키지에 존재




2. String 선언

  • 힙 메모리에 인스턴스로 생성되는 경우 -> 각각 다른 주소값
  • 상수 풀(constant pool)에 있는 주소를 참조하는 경우 -> 같은 주소값
String str1 = "Helloworld";			# 상수풀에 존재하는 abc 문자열 상수 참조
String s4 = new String("Greeting");	# 힙 메모리에 인스턴스 생성

  • 한번 생성된 String 은 불변(immutable)
  • 따라서 String 을 연결하면 새로운 String 생성됨 (메모리 낭비 가능성 ↑)




3. StringBuilder와 StringBuffer 클래스 이용

  • 내부적으로 가변적인 char[]를 멤버 변수로 가짐 (문자열 인스턴스 생성 X, char[] 변경)
  • StringBuffer - 멀티 쓰레드 프로그래밍에서 동기화(synchronization)을 보장
  • StringBuilder - 단일 쓰레드 프로그램에서는 사용을 권장
  • toString() 메서드로 String반환
String java = new String("java");			# java String 인스턴스 생성
String android = new String("android");			# android String 인스턴스 생성 
		
StringBuilder buffer = new StringBuilder(java);		# StringBuilder 인스턴스 생성
buffer.append("android");				# 문자열 덧셈 
		
java = buffer.toString();				# 출력




4. Text block

  • 문자열을 """ """ 사이에 이어서 만듬
  • html, json 형식의 문자열을 만드는데 유용하게 사용할 수 있음
public class StringTextBlock {

	public static void main(String[] args) {
		
		String strBlock = """
				This 
				is 
				text
				block
				test.""";
		System.out.println(strBlock);
		System.out.println(getBlockOfHtml());
		
	}
	
	public static String getBlockOfHtml() {
		    return """
		            <html>

		                <body>
		                    <span>example text</span>
		                </body>
		            </html>""";
		
	}

}
post-custom-banner

0개의 댓글