Today I Learned/2022

๋ฌด๋ถ„๋ณ„ํ•œ Objects.isNull ์‚ฌ์šฉ์„ ํ”ผํ•˜์ž

YURI๐Ÿ•๐Ÿ“๐Ÿถ 2022. 7. 18. 20:29
๋ฐ˜์‘ํ˜•

Objects.isNull

  • Objects.isNull ๋ฉ”์„œ๋“œ ์ž์ฒด๊ฐ€ ๋žŒ๋‹ค filter ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ฉ”์„œ๋“œ์ด๊ณ 
  • ๋‚ด๋ถ€ ๋กœ์ง์ด null ์ฒดํฌ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด Objects.isNull ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ null ์ฒดํฌ๋ฅผ ํ•˜๋Š” ๊ฑด ๋ถˆํ•„์š”ํ•œ ํ–‰์œ„๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
  • obj == null vs Objects.isNull
    • obj == null ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ, ์˜คํƒ€๋กœ ์ธํ•ด(obj = null) obj์— null์ด ํ• ๋‹น ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
      • ์ด๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด, null == obj ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.
    • ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ IDE๋Š” ์ด๋Ÿฐ ์˜คํƒ€๋ฅผ ์žก์•„์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ์‚ฌ์†Œํ•œ ๊ฑฑ์ •๋•Œ๋ฌธ์— Objects.isNull๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฑด ๋น„ํ•ฉ๋ฆฌ์ ์ธ ์„ ํƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.
/**
* This method exists to be used as a Predicate, filter(Objects::isNull)
**/

public static boolean isNull(Object obj) {
    return obj == null;
}

 

๐Ÿ‘ Reference

 

๋ฐ˜์‘ํ˜•