String ๋ฆฌํฐ๋ด๊ณผ ๊ฐ์ฒด ์์ฑ
String์ ๊ธฐ๋ณธํ์ด ์๋ ์ฐธ์กฐํ- ๋จ์ํ literal์ ํ ๋นํ๊ฑฐ๋ ์์ฑ์๋ฅผ ์ด์ฉํด์ ์์ฑ ๊ฐ๋ฅ
// โ ๋ฆฌํฐ๋ด ๋ฐฉ์
String str1 = "Hello";
// โก new ์ฐ์ฐ์ ์ฌ์ฉ
String str2 = new String("Hello");
String ๋น๊ต
๋ฆฌํฐ๋ด ๋ฐฉ์ (str1, str2)
"Hello"๋ ๋ฌธ์์ด ์์ ํ(String Constant Pool)์ ์ ์ฅ- ๊ฐ์ ๋ฆฌํฐ๋ด์ ๋์ผ ์ฐธ์กฐ
str1 == str2→true
์์ฑ์ ๋ฐฉ์ (str3, str4)
"Hello"๊ฐ์ด ๊ฐ์๋ Heap์ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด๋ก ์์ฑstr3 == str4→false
== vs equals
==: ์ฃผ์(์ฐธ์กฐ๊ฐ) ๋น๊ต. ๊ฐ์ ๊ฐ์ฒด์ธ์ง. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฐธ์กฐํ๋์ง.equals(): ๋ด์ฉ(๊ฐ) ๋น๊ต. ๋ฌธ์์ด์ด ๊ฐ์์ง. ๋ ๊ฐ์ฒด์ ๋ด์ฉ์ด ๊ฐ์์ง
String str1 = "Hello";
String str2 = new String("Hello");
System.out.println(str1 == str2); // false (์ฃผ์ ๋ค๋ฆ)
System.out.println(str1.equals(str2)); // true (๋ด์ฉ ๊ฐ์)
๋จ, ๋์ผํ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ๋ฌธ์์ด ์์ ํ(String Constant Pool)์ ์ ์ฅํด์ ๊ฐ์ ๊ฐ์ฒด๋ก ์ฌ์ฌ์ฉ.
public class StringCompare {
public static void main(String[] args) {
String str1 = "banana"; // string literal
String str2 = "banana"; // string literal, ๊ฐ์ constant pool ๊ฐ์ฒด ์ฐธ์กฐ
String str3 = new String("banana"); // ์๋ก์ด ๊ฐ์ฒด ์์ฑ
System.out.println(str1 == str2); // true โ๏ธ ๊ฐ์ ๊ฐ์ฒด
System.out.println(str1 == str3); // false โ ๋ค๋ฅธ ๊ฐ์ฒด
System.out.println(str1.equals(str3)); // true โ๏ธ ๊ฐ์ ๊ฐ์
}
}
ํ
์คํธ ๋ธ๋ก(Text Block) """
- Java 13๋ถํฐ ๋์
- ๋์ผํ๊ฒ ์ฌ๋ฌ ์ค ๋ฌธ์์ด์ ์ธ ์ ์๊ณ , JSON·SQL·HTML ๊ฐ์ ํฌ๋งท์ ๊น๋ํ ์์ฑํ ๋ ์ ์ฉ
- ์ฃผ์: ์์ """ ๋ค์ ์ฆ์ ์ค๋ฐ๊ฟ์ด ๋ค์ด๊ฐ์ผ ํจ
String json = """
{
"user": "java",
"msg" : "Hello, Text Blocks!"
}
""";
System.out.println(json);
Java ํฌ๋งท ๋ฌธ์์ด ํ์
%[flags][width][.precision]conversion
flags
์ถ๋ ฅ ํ์์ ์ํฅ์ ์ฃผ๋ ์ต์ ๋ค. ์กฐํฉ ๊ฐ๋ฅํจ.
-: ์ผ์ชฝ ์ ๋ ฌ0: ๋จ๋ ์๋ฆฟ์ 0์ผ๋ก ์ฑ์+: ์์์ผ ๋๋ + ๊ธฐํธ ์ถ๋ ฅ,: ์ฒ ๋จ์๋ง๋ค ์ผํ ์ถ๋ ฅ
"%-5d": ์ผ์ชฝ ์ ๋ ฌ"%010d": ๊ธธ์ด 10, 0์ผ๋ก ์ฑ์
width
์ถ๋ ฅ๋ ์ต์ ๋๋น ์ง์ . ๋๋น๋ณด๋ค ๊ฐ์ด ์งง์ผ๋ฉด ๊ณต๋ฐฑ์ผ๋ก ์ฑ์.
"%5d": ์ต์ 5์๋ฆฌ ํ๋ณด
.precision
์์์ ์ดํ ์๋ฆฌ์ ๋๋ ๋ฌธ์์ด ์ถ๋ ฅ ๊ธธ์ด ์ ํ
- ์ค์์ผ ๊ฒฝ์ฐ: ์์์ ์ดํ ์๋ฆฌ์
- ๋ฌธ์์ด์ผ ๊ฒฝ์ฐ: ์ต๋ ์ถ๋ ฅ ๊ธธ์ด
"%.2f": ์์์ ๋์งธ ์๋ฆฌ๊น์ง
conversion
์ถ๋ ฅํ ๋ฐ์ดํฐ์ ํ์ ์ง์
d: ์ ์f: ์ค์s: ๋ฌธ์์ดc: ๋ฌธ์b: booleanx: 16์ง์o: 8์ง์e: ์ง์ ํํ"%d","%f","%s"
'๐ Study > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Java] String ๊ด๋ จ ๋ฉ์๋ (1) | 2025.07.27 |
|---|---|
| [Java] ์ปดํ์ผ ์๋ฌ vs ๋ฐํ์ ์๋ฌ (1) | 2025.07.27 |
| [Java] ์ฐ์ ์ฐ์ฐ ์ ์ฃผ์ํ ์ ๋ค (2) | 2025.07.27 |
| [Java] ๋ฐ๋ณต๋ฌธ ํ์ (0) | 2025.07.27 |
| [Java] ํ์ ๋ณํ (2) | 2025.07.27 |