์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Queue
- JAVA๊ธฐ์ด
- Leetcode
- ํต์ ๋๋
- ๋ ผ๋ฆฌํ
- elasticbeanstalk
- ๋ฐ์ดํฐ์ผํฐ
- AWS
- Java
- springboot
- ์ฝ๋ฉํ ์คํธ
- ๋ฐฑ์ค
- ํ
- OVH
- ์๋ฒ์ค๋จ
- ์๋์์ฑ
- random
- ์๋ฃํ
- string
- PR
- thymeleaf
- ์๋ฒ์ค๋ฅ
- github
- ๋ช ์
- char[]
- Intellij
- LiveTemplate
- ์ฝํ
- linux
- github cli
- Today
- Total
Midnight Coder's Lounge
[Java] String ๋ณ์๋ฅผ == ๋ก ๋น๊ตํ ๋ : ๋๊ฐ์ ๊ฐ์ธ๋ฐ, ์ false๊ฐ ๋์ค์ฃ ? ๋ณธ๋ฌธ
[Java] String ๋ณ์๋ฅผ == ๋ก ๋น๊ตํ ๋ : ๋๊ฐ์ ๊ฐ์ธ๋ฐ, ์ false๊ฐ ๋์ค์ฃ ?
AtomicLiquors 2022. 8. 13. 22:57์์ฝ
๐โ๏ธ Q :
์๋ก ๋ค๋ฅธ ๋ String ๋ณ์๋ฅผ == ๋ก ๋น๊ตํด ๋ณด์์ต๋๋ค. ๋ถ๋ช ํ ๋๊ฐ์ ๊ฐ์ธ๋ฐ ์ false๊ฐ ๋์ค์ฃ ?
๐จ๐ป A :
String๋ผ๋ฆฌ ๊ฐ์ ๋น๊ตํ ๋ '=='๋ฅผ ์ฐ์ง ๋ง๊ณ '.equals()'๋ฅผ ์ฐ์ธ์.
์์ธ
String ๋ณ์ str1์ ์ ์ธํ๊ณ , "hello"๋ผ๋ ๊ฐ์ ์ ์ฅํ์ต๋๋ค.
๋๋ค๋ฅธ String ๋ณ์ str2๋ฅผ ์ ์ธํ๊ณ , Scanner๋ฅผ ํตํด ๊ฐ์ ์ ๋ ฅ๋ฐ๋๋ก ํ์ต๋๋ค.
์ ๋ ฅ๋ฐ์ str2์ ๊ฐ์ด str1๊ณผ ์ผ์นํ๋ฉด "์ ๋ ฅ ๋ด์ฉ ์ผ์น!"๋ผ๋ ๋ฉ์์ง๊ฐ ๋จ๊ฒ ํ๊ณ ์ถ์ต๋๋ค.
์ฝ๋:
//str1๊ณผ str2 ์ ์ธ
String str1 = "hello";
Scanner sc = new Scanner(System.in);
String str2 = sc.next();
//str1๊ณผ str2๋ฅผ ๋น๊ตํ๊ณ ์กฐ๊ฑด๋ฌธ ์คํ
if(str1==str2) {
System.out.println("์
๋ ฅ ๋ด์ฉ ์ผ์น!");
}else {
System.out.println("์
๋ ฅ ๋ด์ฉ์ด ์ผ์นํ์ง ์์ต๋๋ค.");
}
//str1==str2๊ฐ true/false๊ฐ ๋์ค๋์ง ํ์ธ
System.out.println(str1==str2);
๊ทธ๋ฆฌ๊ณ ์ฝ์์ ๋๊ฐ์ด "hello"๋ผ๊ณ ์ ๋ ฅํ๋๋ฐ,
๊ณ์ "์ ๋ ฅ ๋ด์ฉ์ด ์ผ์นํ์ง ์์ต๋๋ค."๋ผ๋ ๋ฉ์์ง๋ง ๋น๋๋ค.
str1 == str2๋ฅผ ์ง์ ์ถ๋ ฅํด ๋ดค๋๋ ๊ฒฐ๊ณผ๊ฐ false๊ฐ ๋์ค๋ค์.
์ฝ์ :
hello
์
๋ ฅ ๋ด์ฉ์ด ์ผ์นํ์ง ์์ต๋๋ค.
false
๋ถ๋ช ํ str1๊ณผ str2์ ๊ฐ์ด ๊ฐ์๋ฐ, true๊ฐ ๋์์ผ ํ์ง ์์๊น์?
์ ์ด๋ ๊ฒ ๋๋ ๊ฑธ๊น์?
๐ '.equals()'๋ฅผ ์ด์ฉํด String์ ๊ฐ ๋น๊ตํ๊ธฐ
์๋ก ๋ค๋ฅธ ๋ String ๋ณ์์ ๊ฐ์ ๋น๊ตํ๊ณ ์ถ๋ค๋ฉด, '=='๋ฅผ ์ฐ์ง ๋ง๊ณ '.equals()'๋ฅผ ์จ์ผ ํฉ๋๋ค.
'.equals()'๋ฅผ ์ฐ๋๋ก ์ฝ๋๋ฅผ ๊ณ ์ณ ๋ณด๊ฒ ์ต๋๋ค.
์ฝ๋:
String str1 = "hello";
Scanner sc = new Scanner(System.in);
String str2 = sc.next();
if(str1.equals(str2)) {
//'==' ๋์ '.equals()'๋ฅผ ์ฌ์ฉํด ๋ด
์๋ค.
System.out.println("์
๋ ฅ ๋ด์ฉ ์ผ์น!");
}else {
System.out.println("์
๋ ฅ ๋ด์ฉ์ด ์ผ์นํ์ง ์์ต๋๋ค.");
}
System.out.println(str1.equals(str2));
์ฝ์ :
hello
์
๋ ฅ ๋ด์ฉ ์ผ์น!
true
.equals()๋ฅผ ์ฌ์ฉํ๋,
์๋ํ ๋๋ก "์ ๋ ฅ ๋ด์ฉ ์ผ์น!" ๋ฉ์์ง๋ ์ ์ถ๋ ฅ๋๊ณ ,
str1==str2์ ๊ฒฐ๊ณผ๋ true๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค.
๐ '=='๋ก ๊ฐ์ ๋น๊ตํด๋ ๋๋ ๊ฒฝ์ฐ : String์ด ์๋ '๊ธฐ๋ณธํ ๋ณ์'๋ฅผ ๋น๊ตํ ๋
๐โ๏ธ Q :
int๋ฅผ ๊ฐ๊ณ ๋๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ ๋, '=='๋ก ๊ฐ์ ๋น๊ตํด๋ ์ ๋๋๋ฐ์...
๐จ๐ป A :
๊ทธ๋ ์ต๋๋ค.
๋ง์ฝ์ String์ด ์๋๋ผ,
[int, byte, short, long] / [float, double] / [boolean]์ผ๋ก
๋น์ทํ ์ฝ๋๋ฅผ ์์ฑํ๋ค๋ฉด ์๋ ์๋๋๋ก true๋ฅผ ์ป์ ์ ์์ ๊ฒ์ ๋๋ค.
int๋ก ์๋ฅผ ๋ค์ด ๋ด ์๋ค.
์ฝ๋:
int int1 = 25;
Scanner sc = new Scanner(System.in);
int int2 = sc.nextInt();
//์ ์ํ ๋ณ์ int1์ ๊ฐ 25๋ฅผ ๋ฃ๊ณ , ์ฝ์์ 25๋ฅผ ์
๋ ฅํด ๋ด
์๋ค.
//sc.nextLine(); ๋ํ sc.next();๋ก ์์ ํ์ต๋๋ค.
if(int1==int2) {
System.out.println("์
๋ ฅ ๋ด์ฉ ์ผ์น!");
}else {
System.out.println("์
๋ ฅ ๋ด์ฉ์ด ์ผ์นํ์ง ์์ต๋๋ค.");
}
System.out.println(int1==int2);
์ฝ์ :
25
์
๋ ฅ ๋ด์ฉ ์ผ์น!
true
์ฝ๋ ์์ ํ int1๊ณผ int2์ ๊ฐ์ด ์ผ์นํ๋๋ก ์ ๋ ฅํด ๋ณด๋ฉด
"์ ๋ ฅ ๋ด์ฉ ์ผ์น!" ๋ฉ์์ง๋ ์ ๋์ค๊ณ ,
int1==int2์ ๊ฒฐ๊ณผ๋ true๊ฐ ๋์ค๋ค์.
์ String์ ๊ทธ๋ ๊ฒ ๋์ง ์๋ ๊ฑธ๊น์?
๐ String์ '๊ธฐ๋ณธํ'์ด ์๋ '์ฐธ์กฐํ' ๋ฐ์ดํฐ ํ์
int, String ๋ฑ ์๋ฃํdata type์ ๊ตฌ๋ถ์ ๋ํด์ ์์ธํ ์์๋ณด๋๋ก ํฉ์๋ค.
- int๋ ๊ธฐ๋ณธํPrimitive Type์ ์ํ๋ฉฐ, ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ ํ์
๋๋ค.
int ์ธ์๋ [byte, short, long] / [float, double] / [char] / [boolean]๊น์ง ์ด 8๊ฐ์ง ์ ํ์ด '๊ธฐ๋ณธํ'์ ํด๋นํฉ๋๋ค.
- String์ ์ฐธ์กฐํReference Type์
๋๋ค. ์ค์ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ '์ฃผ์'๋ฅผ ์ ์ฅํฉ๋๋ค.
Java์์ String์ '๊ฐ์ฒดObject'์ ์ผ์ข ์ ๋๋ค.
String str1 = "hello";
์์ ๊ฐ์ด ์๋ก์ด String ๋ณ์ str1์ ์ ์ธํ๊ณ ์ฐ์ฐ์ '='๋ก ๋ฌธ์์ด "hello"๋ฅผ ๋์
ํ์ ๋,
str1์๋ ์ค์ ๋ฌธ์์ด์ธ "hello"๊ฐ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ,
๊ทธ "hello"๊ฐ ์กด์ฌํ๋ ๊ฐ์ฒด์ ์ฃผ์๊ฐ ์ ์ฅ๋๋ ๊ฒ์ด์ง์.
๐ ๋น๊ต ์ฐ์ฐ์ '==' : ๊ธฐ๋ณธํ๋ผ๋ฆฌ๋ "๊ฐ"์, ์ฐธ์กฐํ๋ผ๋ฆฌ๋ "๊ฐ์ฒด ์ฃผ์๊ฐ"์ ๋น๊ตํฉ๋๋ค.
๋น๊ต ์ฐ์ฐ์ '=='๋ ๊ธฐ๋ณธํ ํ์
์ ๋ํด์๋ "๊ฐ"์ ๋น๊ตํ๊ณ ,
์ฐธ์กฐํ์ ๋ํด์๋ "๊ฐ์ฒด ์ฃผ์๊ฐ"์ ๋น๊ตํฉ๋๋ค.
๊ทธ๋์ ์ฐธ์กฐํ ๋ณ์๋ฅผ ๋น๊ตํ ๋๋ ์๋ก ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ์ง ๋์ผํ ๊ฐ์ฒด์ฌ์ผ true๋ฅผ ๋ฐํํ๊ฒ ๋ฉ๋๋ค.
๊ฐ์ฒด์ ๋ด์ฉ์ด ๊ฐ๋๋ผ๋, ์๋ก ๋ค๋ฅธ ์ฃผ์๋ฅผ ๊ฐ์ง ๋ณ๊ฐ์ ๊ฐ์ฒด๋ผ๋ฉด false๋ฅผ ๋ฐํํ๊ฒ ๋ฉ๋๋ค.
String์ ์ ์ฅํ ๋ณ์์ ๋ํด์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
๊ฐ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ๊ฐ๋ ํด์ฌ ์ฃผ์๊ฐ์ ์ถ๋ ฅํ๋ ๋ฉ์๋์ธ,
"System.identifyHashcode"๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์์ ๋ฅผ ๋ค์ ์ดํด๋ด
์๋ค.
์ฝ๋ :
String str1 = "hello";
//String ๋ณ์ str1์ ์ ์ธํ ๋ค์ "hello"๋ฅผ ๋์
ํด ์ฃผ๊ณ ,
Scanner sc = new Scanner(System.in);
String str2 = sc.next();
//str2๋ Scanner๋ก ์
๋ ฅ์ ๋ฐ์, ์ฝ์์ hello๋ฅผ ์
๋ ฅํ ๋ค์,
System.out.println("str1์ ํด์ฌ ์ฃผ์๊ฐ : " + System.identityHashCode(str1));
System.out.println("str2์ ํด์ฌ ์ฃผ์๊ฐ : " + System.identityHashCode(str2));
//String ๋ณ์ str1, str2๊ฐ ์ค์ ๋ก ๊ฐ๋ฆฌํค๋ ํด์ฌ ์ฃผ์๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
System.out.println(str1 == str2);
//๊ทธ๋ฆฌ๊ณ str1 == str2๋ฅผ ์ถ๋ ฅํด ๋ด
์๋ค.
์ฝ์ :
hello
str1์ ํด์ฌ ์ฃผ์๊ฐ : 1617791695
str2์ ํด์ฌ ์ฃผ์๊ฐ : 1012570586
false
str2์๋ ๋๊ฐ์ "hello"๋ผ๋ ๋ฌธ์์ด์ ์ ๋ ฅํด ์คฌ์ง๋ง,
str1์ ํด์ฌ ์ฃผ์๊ฐ์ 1617791695,
str2์ ํด์ฌ ์ฃผ์๊ฐ์ 1012570586๋ก ๋ํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
*์ถ๋ ฅ๋๋ ํด์ฌ ์ฃผ์๊ฐ์ PC๋ง๋ค ์์ดํฉ๋๋ค.
'=='๋ ์ฐธ์กฐํ์ ๋ํด์๋ "๊ฐ"์ ๋ฌผ๋ก "๊ฐ์ฒด ์ฃผ์๊ฐ"๊น์ง ๋น๊ตํ๋ค๊ณ ๋ง์๋๋ ธ์ฃ .
๋ ์ฐธ์กฐํ ๋ณ์ str1, str2๋ฅผ '=='์ผ๋ก ๋น๊ตํ์ ๋,
๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด์ str1, str2 ๋ชจ๋ "hello"๋ก ์ผ์นํ ์ง ๋ชฐ๋ผ๋,
๊ทธ "hello"๊ฐ ์ ์ฅ๋ ์ฃผ์๊ฐ ์๋ก ๋ค๋ฅด๊ธฐ ๋๋ฌธ์
str1==str2์ ๊ฒฐ๊ณผ ์ญ์ false๋ก ๋์ค๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
๐ String์ ๊ฐ์ ๋น๊ตํด ์ฃผ๋ '.equals()'
Compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.
[https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#equals-java.lang.Object-]
Java ๊ณต์ ๋ฌธ์์์ ์ค๋ช ํ๋ String์ ๋ด์ฅ ๋ฉ์๋, .equals()์ ๊ธฐ๋ฅ์ ๋๋ค.
์ด String์ ๋ค๋ฅธ ๊ฐ์ฒด์ ๋น๊ตํ๋๋ฐ,
๊ทธ ๊ฐ์ฒด๊ฐ null์ด ์๋๊ณ , ๋๊ฐ์ ๋ฌธ์์ด์ ๋ํ๋ด๋ String ๊ฐ์ฒด์ผ ๊ฒฝ์ฐ true๋ฅผ ๋ฐํํ๋ค๋ ๋ด์ฉ์
๋๋ค.
์์ ๋ณด์ฌ๋๋ฆฐ ์์์ ๊ฐ์ด, String์ ์ฃผ์๊ฐ์ด ์๋๋ผ String์ด ๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด์ ๋น๊ตํ๊ณ ์ถ์ ๋์ ์๋ง์ ๊ธฐ๋ฅ์ด์ฃ .
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ก ๋ค๋ฅธ String์ ๊ฐ์ ๋น๊ตํด ์ค ๋๋ '=='๊ฐ ์๋ '.equals()'๋ฉ์๋๋ฅผ ์จ์ผ ํ๋ ๊ฒ์ ๋๋ค.
๐ String์ด๋ผ๋ '=='์ด ํตํ๋ ๊ฒฝ์ฐ : '๋ฆฌํฐ๋ด ๋ฐฉ์'์ผ๋ก ๋ String์ ์ ์ธํ์ ๋
๐โ๏ธ Q :
๋ฐฉ๊ธ String ๋ณ์ ๋ ๊ฐ๋ฅผ ๋ง๋ค์ด์ '=='์ผ๋ก ๋น๊ตํด ๋ดค๋๋ฐ, true๊ฐ ์ ๋์ค๋๋ฐ์...
๐จ๐ป A :
๋ค์๊ณผ ๊ฐ์ด '=='์ ์ฌ์ฉํ์ จ๋ค๋ฉด true๊ฐ ๋์ค๋ ๊ฒ ๋ง์ต๋๋ค.
์ฝ๋ :
String str3 = "hello";
String str4 = "hello";
System.out.println(str3==str4);
์ฝ์ :
true
๋ณดํต String์ ์ฌ์ฉํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ ์ธํด์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
String str = "hello";
์ด๋ ๋ง์น int, char, boolean ๊ฐ์ ๊ธฐ๋ณธํ ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ฐฉ์๊ณผ ํก์ฌํฉ๋๋ค.
(๊ทธ๋ฐ ๋ฐฉ์์ '๋ฆฌํฐ๋ด ๋ฐฉ์'์ด๋ผ๊ณ ํฉ๋๋ค.)
๊ทธ๋ฐ๋ฐ ์์ ๋ง์๋๋ ธ๋ฏ์ด String์ ์์ฐํ ์ฐธ์กฐํ์ด๊ณ , ๋ ์ผ์ข ์ ๊ฐ์ฒด์ ๋๋ค.
์ผ๋ฐ์ ์ธ ๊ฐ์ฒด๋ค์ ์ ์ธํ๋ ค๋ฉด, ๊ฐ์ฒด๋ฅผ ์์ฑํด์ฃผ๋ ์ฐ์ฐ์ 'new'๋ฅผ ์ฌ์ฉํด์ผ ๋๊ฒ ์ฃ .
์ค์ ๋ก String๋ ๋ง์ฐฌ๊ฐ์ง๋ก new๋ฅผ ์ด์ฉํด ์ ์ธํ ์ ์์ต๋๋ค.
ClassType c = new ClassType();
//์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์ ์ธํ๋ ๋ฐฉ์
String str = new String("hello");
//๋ค๋ฅธ ๊ฐ์ฒด๋ค์ฒ๋ผ new๋ฅผ ์ด์ฉํด String ์ ์ธํ๊ธฐ
String์ด ๋ค๋ฅธ ๊ฐ์ฒด๋ค๊ณผ ๋ฌ๋ฆฌ 'new' ์์ด๋ '๋ฆฌํฐ๋ด ๋ฐฉ์'์ผ๋ก ์ ์ธํ ์ ์๊ฒ ๋ง๋ค์ด์ง ์ด์ ๋,
String์ ํน์ฑ์ ๋ฆฌํฐ๋ด ๋ฐฉ์์ด ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ์ฐจ์์์ ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์ธํ ๋ด์ฉ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
https://bbubbush.tistory.com/22
์์ ๊ฐ์ด String์ ๋ฆฌํฐ๋ด ๋ฐฉ์์ผ๋ก ์ ์ธํ ๋๋, 'new'๋ก ์ ์ธํ์ ๋์๋ ๋ค๋ฅด๊ฒ,
๋ณ์๋ง๋ค ์๋ก ๋ค๋ฅธ ์๊ธฐ๋ง์ ๊ณต๊ฐ์ด ์๋๋ผ
'์คํธ๋ง ์์ ํString constant pool'์ด๋ผ๋ ๊ณต๋ ๊ณต๊ฐ์ ๋ฌธ์์ด์ด ์ ์ฅ๋ฉ๋๋ค.
๊ณต๋ ๊ณต๊ฐ์ ์ ์ฅ๋๋ค๋ฉด, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๋ํ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ๋๋ค๋ ๋ง์ด๊ฒ ์ง์.
๊ณผ์ฐ ์ค์ ๋ก ๊ทธ๋ฐ์ง ์๋ก ๋ค๋ฅธ ๋ ๋ฐฉ์์ผ๋ก String ๋ณ์๋ฅผ ์ ์ธํด ๋ณด๊ณ ,
๋๊ฐ์ ๋ฌธ์์ด์ ์ง์ด๋ฃ์ ๋ค์,
๊ฐ๊ฐ ์ฃผ์๊ฐ์ ์ถ๋ ฅํด ๋ณด๊ณ '=='์ผ๋ก ๋น๊ต๋ ํด ๋ณด๊ฒ ์ต๋๋ค.
์ฝ๋ :
String str3 = "hello";
String str4 = "hello";
//๋ฆฌํฐ๋ด ๋ฐฉ์์ ์ด์ฉํด ๋ String ์ ์ธ
String str5 = new String("hello");
String str6 = new String("hello");
//๊ฐ์ฒด๋ฅผ ์์ฑํ๋ new๋ฅผ ์ด์ฉํด ๋ String ์ ์ธ
System.out.println("str3์ ํด์ฌ ์ฃผ์๊ฐ : " + System.identityHashCode(str3));
System.out.println("str4์ ํด์ฌ ์ฃผ์๊ฐ : " + System.identityHashCode(str4));
System.out.println("str5์ ํด์ฌ ์ฃผ์๊ฐ : " + System.identityHashCode(str5));
System.out.println("str6์ ํด์ฌ ์ฃผ์๊ฐ : " + System.identityHashCode(str6));
//System.identityHashCode()๋ฅผ ์ด์ฉํด ๊ฐ String์ ์ฃผ์๊ฐ์ ํ์ธ
System.out.println("str3==str4 : " + (str3==str4));
System.out.println("str5==str6 : " + (str5==str6));
//'=='์ ์ฌ์ฉํ์ฌ ์ผ์น ์ฌ๋ถ ํ์ธ.
/*๋ฐ๋์ str3==str4, str5==str6์ ๊ดํธ๋ก ๊ฐ์ธ๊ณ ์คํํฉ์๋ค.
์ฐ์ ์ฐ์ฐ์์ ์ฐ์ ์์๊ฐ ๋น๊ต์ฐ์ฐ์์ ์ฐ์ ์์๋ณด๋ค ๋๊ธฐ ๋๋ฌธ์
๋๋ค.*/
์ฝ์ :
str3์ ํด์ฌ ์ฃผ์๊ฐ : 1617791695
str4์ ํด์ฌ ์ฃผ์๊ฐ : 1617791695
//๋ฆฌํฐ๋ด ๋ฐฉ์์ผ๋ก ์ ์ธํ ๋ ๋ณ์๋ ์ฃผ์๊ฐ์ด ์ผ์นํฉ๋๋ค.
str5์ ํด์ฌ ์ฃผ์๊ฐ : 125993742
str6์ ํด์ฌ ์ฃผ์๊ฐ : 1192108080
str3==str4 : true
//๋ฆฌํฐ๋ด ๋ฐฉ์์ผ๋ก ์ ์ธํ ๋ ๋ณ์๋ฅผ '=='์ผ๋ก ๋น๊ตํ ๊ฒฐ๊ณผ, "true"๊ฐ ๋ํ๋ฌ์ต๋๋ค.
str5==str6 : false
//new ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ ๋ณ์๋ฅผ '=='์ผ๋ก ๋น๊ตํ ๊ฒฐ๊ณผ๋ "false"๋ก ๋ํ๋ฌ์ต๋๋ค.
์์ ๊ฐ์ด,
๋ฆฌํฐ๋ด ๋ฐฉ์์ผ๋ก ์ ์ธํ ๋ ๋ณ์๋ ์๋ก ์ผ์นํ๋ ์ฃผ์๊ฐ์ ๊ฐ๊ณ ,
'=='์ผ๋ก ๋น๊ตํ์ ๋๋ ๊ฒฐ๊ณผ๊ฐ true๋ก ๋ํ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ค๋ง ์ค์ ํ๋ก๊ทธ๋๋ฐ์์ String์ ๋น๊ตํ ๋๋,
Scanner๋ฅผ ์ด์ฉํ๋ ๋ฑ ์ฃผ์๊ฐ์ด ์๋ก ๋ค๋ฅธ ๋ String์ ๋น๊ตํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์,
'=='๊ฐ ์๋ '.equals()'๋ฅผ ์ฌ์ฉํด์ผ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ ๊ฒ์ ๋๋ค.
(์์ : 2024.08.26)
[์ฐธ๊ณ ์๋ฃ]
- Java์ ์ ์, 3rd Edition, ๋จ๊ถ์ฑ