๊ด€๋ฆฌ ๋ฉ”๋‰ด

Unfazedโ—๏ธ๐ŸŽฏ

[Java] ํšจ์œจ์ ์ธ ๋ฌธ์ž์—ด ๊ฒ€์‚ฌ: isEmpty()์™€ isBlank() ์‚ฌ์šฉํ•˜๊ธฐ ๋ณธ๋ฌธ

Java

[Java] ํšจ์œจ์ ์ธ ๋ฌธ์ž์—ด ๊ฒ€์‚ฌ: isEmpty()์™€ isBlank() ์‚ฌ์šฉํ•˜๊ธฐ

9taetae9 2024. 9. 7. 18:33
728x90

Java ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๋ฌธ์ž์—ด์ด ๋น„์–ด์žˆ๋Š”์ง€ ๋˜๋Š” ๊ณต๋ฐฑ๋งŒ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ž์ฃผ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ์–ด๋–ค ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ์œจ์ ์ผ์ง€ String.isEmpty()์™€ String.isBlank() ๋ฉ”์†Œ๋“œ์˜ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ ํ•œ๋‹ค. 

๋ฌธ์ œ: ๋น„ํšจ์œจ์ ์ธ ๋ฌธ์ž์—ด ๊ธธ์ด ์ฒดํฌ

ํ‰์†Œ ๋ฌธ์ž์—ด์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•  ๋•Œ ๋ณ„ ์ƒ๊ฐ์—†์ด isEmpty, length()๋ฅผ ํ˜ผ์šฉํ•˜๋ฉฐ ์ฝ”๋”ฉ์„ ํ–ˆ๋‹ค.

if (string.length() == 0)
if (string.length() > 0)
if (string.trim().length() == 0)
if (string.trim().length() > 0)

 

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ์ž‘๋™์€ ํ•˜์ง€๋งŒ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

  1. ใ„น์ฝ”๋“œ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊ธธ์–ด์ง„๋‹ค.
  2. trim() ํ˜ธ์ถœ ์‹œ, ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๊ธธ์ด๊ฐ€ 0์ธ์ง€ ํ™•์ธ๋œ ๋’ค ๋‹ค์‹œ ๋ฒ„๋ ค์ง€๊ฒŒ ๋œ๋‹ค. (๋ถˆํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ)
  3. ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜์ง€ ๋ชปํ•œ๋‹ค. 

ํ•ด๊ฒฐ์ฑ…: isEmpty()์™€ isBlank() ์‚ฌ์šฉํ•˜๊ธฐ

Java์—์„œ๋Š” ์ด๋Ÿฐ ์ƒํ™ฉ์„ ์œ„ํ•ด ๋” ๋ช…ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

1. isEmpty()

isEmpty()๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 0์ธ์ง€ ํ™•์ธํ•œ๋‹ค.

if (string.isEmpty())
if (!string.isEmpty())

2. isBlank()

isBlank()๋Š” ๋ฌธ์ž์—ด์ด ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ๊ณต๋ฐฑ ๋ฌธ์ž๋งŒ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. (java 11 ์ดํ›„)

if (string.isBlank())
if (!string.isBlank())

์žฅ์ 

  1. ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ: ์ฝ”๋“œ์˜ ์˜๋„๊ฐ€ ๋” ๋ช…ํ™•ํ•ด์ง„๋‹ค.
  2. ์„ฑ๋Šฅ ๊ฐœ์„ : isBlank()์˜ ๊ฒฝ์šฐ, String ๊ฐ์ฒด๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ณต๋ฐฑ๋ฌธ์ž๋งŒ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ๋•Œ๋ฌธ์—  trim().length() == 0๋ณด๋‹ค ํšจ์œจ์ ์ด๋‹ค.
  3. ๊ฐ„๊ฒฐ์„ฑ: ์ฝ”๋“œ๊ฐ€ ๋” ๊ฐ„๊ฒฐํ•ด์ ธ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค.

 

๋ฌผ๋ก  ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 0์ด ์•„๋‹Œ ์ƒํ™ฉ์„ ์ฒดํฌํ•ด์•ผ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” length()๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•˜๋‹ค.

if (string.length() > 1) if (string.trim().length() == 10)

 

 

์•ž์œผ๋กœ๋Š” isEmpty()์™€ isBlank()๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ธ์ง€ ๊ณ ๋ฏผํ•ด๋ณด๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ คํ•œ๋‹ค.

 

 

 

 

 

 

์ฐธ๊ณ  ์ž๋ฃŒ : 

https://community.sonarsource.com/t/new-rule-to-suggest-string-length-0-string-isempty/98830

https://stackoverflow.com/questions/6828362/difference-between-string-isempty-and-string-equals

728x90