[JAVA] String class
in Tech-Stack on JAVA
Contents
String ๋ณ์๋ฅผ ๋น๊ตํ ๊ฒฝ์ฐ == ์ฐ์ฐ์๊ฐ ์๋ .equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
String
class ํ ์๋ฃํ์ด๋ค.
int, float, char type์ ๊ธฐ๋ณธ ์๋ฃํ(primitive)์ ๋ณ์๋ฅผ ๋น๊ตํ ๋ == ์ฐ์ฐ์๋ฅผ ํตํด ๋น๊ต๋ฅผ ํ์ง๋ง String type์ ๋ณ์๋ฅผ .equals()๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
1. == ์ฐ์ฐ์ ๋น๊ต
String n1 = "hello";
String n2 = "welcome";
String n3 = "hello";
์ด ๊ฒฝ์ฐ โhelloโ๊ฐ ๋ค์ด์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ n1์ด ์ ์ธ๋๋ค.
n3๋ฅผ ์ด๊ธฐํํ๋ฉด์ ์ด๋ฏธ โhelloโ๊ฐ ๋ค์ด์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์กด์ฌํ๋ฏ๋ก ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฑํ์ง ์๊ณ n1์ด ์ฐธ์กฐํ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ n3๋ ์ฐธ์กฐํ๋ค.
System.out.println(n1 == n2); // false
System.out.println(n1 == n3); // true
2. .equals() ๋ฉ์๋ ๋น๊ต
์์ ๋ค๋ฅด๊ฒ ์ฌ์ฉ์๊ฐ ๋ฌธ์์ด์ ์ ๋ ฅํ ๊ฒฝ์ฐ์ ๋ฌธ์์ด์ด ๊ฐ์ฒด๋ก ์์ฑ๋๋ค.
String n1 = "hello";
String n2 = new String("hello");
n2๋ผ๋ ์๋ก์ด String ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด โhelloโ๋ก ๊ฐ์ด ๊ฐ๋๋ผ๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ค.
System.out.println(n1 == n2); // false
์ด ๊ฒฝ์ฐ์๋ str1.equals(str2) ๋ฉ์๋๋ฅผ ํตํด ๋น๊ตํ ์ ์๋ค.
๋ฌธ์์ด1.equals(๋ฌธ์์ด2)- ๋ ๋ฌธ์์ด์ ๊ฐ๋ง์ ๋น๊ตํ๋ ๋ฉ์๋
- ๋ฌธ์์ด1 : ์์ ์ฝ๋์์ n1 ์ญํ
- ๋ฌธ์์ด2 : ์์ ์ฝ๋์์ n2 ์ญํ
System.out.println(n1.equals(n2)); // true
System.out.println(n2.equals(n1)); // true
๋ฌธ์์ด1.equalsIgnoreCase(๋ฌธ์์ด2)equals๋ฉ์๋์ ๊ฐ์ด ๋ ๋ฌธ์์ด์ ๋น๊ตํ์ง๋ง ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ๋น๊ตํ๋ค.
String n1 = "HELLO"; String n2 = new String("hello"); System.out.println(n1.equals(n2)); // false System.out.println(n1.equalsIgnoreCase(n2)); // true
