Java ‐ 다른 타입이 적절하다면 문자열 사용을 피하라[Effective Java Item 62] - woojin-playground/Backend-PlayGround GitHub Wiki

다른 타입이 적절하다면 문자열 사용을 피하라

문자열은 다른 값 타입을 대신하기 적절하지 않다.

  • 받은 데이터가 수치형이라면 int, float, BigInteger 등 적당한 수치 타입으로 변환해야 한다.
  • "예/아니오" 등 질문의 답이라면 적절한 열거 타입이나 boolean으로 변환해야 한다.

문자열은 열거 타입을 대신하기에 적합하지 않다.

  • 상수를 열거할 때는 문자열보다는 열거 타입이 월등히 낫다.

문자열은 혼합 타입을 대신하기에 적합하지 않다.

  • 여러 요소가 혼합된 데이터를 하나의 문자열로 표현하는 것은 대체로 좋지 않은 생각이다.
// Bad
String compoundKey = className + "#" + i.next();

문자열은 권한을 표현하기에 적합하지 않다.

  • 악의적인 클라이언트가 의도적으로 같은 키를 사용하게 된다면 다른 클라이언트의 값을 가져올 수도 있기 때문에 문자열은 안전하지 않다.