[Java] ν¨μ¨μ μΈ λ¬Έμμ΄ κ²μ¬: isEmpty()μ isBlank() μ¬μ©νκΈ°
Java κ°λ°μ νλ€ λ³΄λ©΄ λ¬Έμμ΄μ΄ λΉμ΄μλμ§ λλ κ³΅λ°±λ§ ν¬ν¨νκ³ μλμ§ νμΈν΄μΌ νλ κ²½μ°κ° μμ£Ό μλ€. μ΄λ° μν©μμ μ΄λ€ λ°©λ²μ μ¬μ©νλ κ²μ΄ κ°μ₯ ν¨μ¨μ μΌμ§ String.isEmpty()μ String.isBlank() λ©μλμ μ¬μ©μ κΆμ₯νλ μ΄μ μ λν΄ μμλ³΄λ €κ³ νλ€.
λ¬Έμ : λΉν¨μ¨μ μΈ λ¬Έμμ΄ κΈΈμ΄ μ²΄ν¬
νμ λ¬Έμμ΄μ΄ λΉμ΄μλμ§ νμΈν λ λ³ μκ°μμ΄ isEmpty, length()λ₯Ό νΌμ©νλ©° μ½λ©μ νλ€.
μ΄λ¬ν λ°©μμ μλμ νμ§λ§ μλμ κ°μ λ¬Έμ κ° μλ€.
- γΉμ½λκ° λΆνμνκ² κΈΈμ΄μ§λ€.
- trim() νΈμΆ μ, μλ‘μ΄ String κ°μ²΄κ° μμ±λκ³ κΈΈμ΄κ° 0μΈμ§ νμΈλ λ€ λ€μ λ²λ €μ§κ² λλ€. (λΆνμν λ©λͺ¨λ¦¬ μ¬μ©)
- μλλ₯Ό λͺ ννκ² μ λ¬νμ§ λͺ»νλ€.
ν΄κ²°μ± : isEmpty()μ isBlank() μ¬μ©νκΈ°
Javaμμλ μ΄λ° μν©μ μν΄ λ λͺ ννκ³ ν¨μ¨μ μΈ λ©μλλ₯Ό μ 곡νλ€.
1. isEmpty()
isEmpty()λ λ¬Έμμ΄μ κΈΈμ΄κ° 0μΈμ§ νμΈνλ€.
2. isBlank()
isBlank()λ λ¬Έμμ΄μ΄ λΉμ΄μκ±°λ 곡백 λ¬Έμλ§ ν¬ν¨νκ³ μλμ§ νμΈνλ€. (java 11 μ΄ν)
μ₯μ
- κ°λ μ± ν₯μ: μ½λμ μλκ° λ λͺ νν΄μ§λ€.
- μ±λ₯ κ°μ : isBlank()μ κ²½μ°, String κ°μ²΄λ₯Ό μλ‘ μμ±νμ§ μκ³ λ¬Έμμ΄μ μννλ©΄μ 곡백문μλ§ μ‘΄μ¬νλμ§ νμΈνκΈ° λλ¬Έμ trim().length() == 0λ³΄λ€ ν¨μ¨μ μ΄λ€.
- κ°κ²°μ±: μ½λκ° λ κ°κ²°ν΄μ Έ μ μ§λ³΄μκ° μ¬μμ§λ€.
λ¬Όλ‘ μλμ κ°μ΄ λ¬Έμμ΄μ κΈΈμ΄κ° 0μ΄ μλ μν©μ 체ν¬ν΄μΌλλ κ²½μ°μλ length()λ₯Ό μ§μ μ¬μ©νλ κ²μ΄ μ μ νλ€.
μμΌλ‘λ 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