[JAVA] String class


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
    





ยฉ 2022. by Yejin Ha

Powered by JihyunRyu