JAVA · 기초 문법
String & StringBuilder & Text Block
Java의 불변 String, 가변 StringBuilder, 그리고 Java 15+의 Text Block을 완전히 마스터합니다.
기초 문법입문StringStringBuilderText Blockequalsstrip
핵심 설명
Java의 불변 String, 가변 StringBuilder, 그리고 Java 15+의 Text Block을 완전히 마스터합니다.
Java code
public class Strings {
public static void main(String[] args) {
// String — 불변 (immutable)
String s1 = "Hello";
String s2 = "Hello";
String s3 = new String("Hello");
System.out.println(s1 == s2); // true (intern pool)
System.out.println(s1 == s3); // false (new 객체)
System.out.println(s1.equals(s3)); // true
// 주요 메서드
String str = " Java Programming ";
System.out.println(str.trim());
System.out.println(str.strip()); // Unicode 공백 처리
System.out.println(str.toUpperCase());
System.out.println("hello".contains("ell")); // true
System.out.println("a,b,c".split(",").length); // 3
System.out.println(String.join("-", "a","b","c")); // a-b-c
System.out.println("abc".repeat(3)); // abcabcabc
System.out.println("".isBlank()); // true (Java 11+)
System.out.println(" ".isBlank()); // true
// StringBuilder — 가변, 효율적인 문자열 조합
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 5; i++) {
sb.append("item").append(i).append(", ");
}
sb.delete(sb.length()-2, sb.length()); // 마지막 ", " 제거
System.out.println(sb);
// Text Block (Java 15+)
String json = """
{
"name": "Java",
"version": 21
}
""";
System.out.println(json);
String html = """
<html>
<body>%s</body>
</html>
""".formatted("Hello!");
System.out.println(html);
}
}학습 팁
String 연결(+)은 컴파일러가 StringBuilder로 최적화합니다. 하지만 루프 안에서는 최적화가 안 됩니다. 루프에서는 StringBuilder를 직접 사용하세요.
주의할 점
==로 String 비교 시 리터럴끼리는 intern pool에서 같은 객체를 재사용해 우연히 맞을 수 있습니다. 항상 .equals()를 사용하세요.
자주 묻는 질문
String & StringBuilder & Text Block란 무엇인가요?
Java의 불변 String, 가변 StringBuilder, 그리고 Java 15+의 Text Block을 완전히 마스터합니다.
String & StringBuilder & Text Block 학습 시 주의할 점은 무엇인가요?
== 로 String 비교 시 리터럴끼리는 intern pool에서 같은 객체를 재사용해 우연히 맞을 수 있습니다. 항상 .equals() 를 사용하세요.
Continue Learning
Java 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.