--- id: java-strings title: "Java Strings" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["자바 문자열"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["java", "programming", "w3schools", "strings"] raw_sources: ["https://www.w3schools.com/java/java_strings.asp"] applied_in: [] github_commit: "" --- # [[Java Strings]] ## 🎯 한 줄 통찰 (One-line insight) A Java String is an object with methods, not a raw character array — `length()`, `indexOf()`, `charAt()`, `equals()`, and `trim()` are all method calls (`str.method()`), not built-in functions like Python's `len(str)`. [S1] ## 🧠 핵심 개념 (Core concepts) - **String** — a double-quoted, object-based text container in Java (not a primitive). [S1] - **`length()`** — returns character count. [S1] - **`toUpperCase()` / `toLowerCase()`** — case conversion. [S1] - **`indexOf(text)`** — position of the first occurrence (0-indexed). [S1] - **`charAt(index)`** — the character at a specific position. [S1] - **`equals(other)`** — compares string CONTENT, unlike `==` which compares references. [S1] - **`trim()`** — removes leading/trailing whitespace. [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **Method-call syntax throughout** — every string operation is `str.method()`, contrasting with Python's mix of methods (`str.upper()`) and built-in functions (`len(str)`). [S1] - **`equals()` not `==`** — the tutorial specifically teaches `equals()` for string comparison, implying `==` would compare object references rather than content (a classic Java gotcha, though not elaborated here). [S1] ## 📖 세부 내용 (Details) - Length: `String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; txt.length()`. [S1] - Case conversion: `txt.toUpperCase(); txt.toLowerCase();`. [S1] - Find position: `String txt = "Please locate where 'locate' occurs!"; txt.indexOf("locate"); // 7`. [S1] - Character access: `String txt = "Hello"; txt.charAt(0); // H`. [S1] - Content comparison: `txt1.equals(txt2)`. [S1] - Trim whitespace: `String txt = " Hello World "; txt.trim(); // "Hello World"`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) 소스에서 모순되는 정보는 발견되지 않음. ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — 이후 Concatenation/Numbers and Strings/Special Characters 챕터에서 문자열 조작이 심화된다. [S1] ## 💻 코드 패턴 (Code patterns) Content comparison with equals() (Java): ```java String txt1 = "Hello"; String txt2 = "Hello"; System.out.println(txt1.equals(txt2)); // true ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Java Tutorial]] - **관련 개념:** [[Java Strings Concat]], [[Java Strings Numbers]], [[Java Characters]] - **참조 맥락:** 문자열 메서드의 기초 — equals()로 내용 비교(==와 구분)해야 함이 핵심. ## 📚 출처 (Sources) - [S1] W3Schools — Java Strings — https://www.w3schools.com/java/java_strings.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java Strings" page (Astra wiki-curation, P-Reinforce v3.1 format).