1. [Effective Java] Item62. 다른 타입이 적절하다면 문자열 사용을 피하라
  2. 문자열을 쓰지 않아야하는 경우

카테고리 없음

[Effective Java] Item62. 다른 타입이 적절하다면 문자열 사용을 피하라

📝 작성 : 2022.08.14  ⏱ 수정 : 3년 전📚 읽는시간 : 1 분

문자열을 쓰지 않아야하는 경우

1. 문자열로 다른 값 타입을 대신하는 경우

받는 데이터가 수치형이라면 int, float, BigInteger 등 적당한 수치 타입으로 변환합니다.

2. 문자열로 열거 타입을 대신하는 경우

상수를 열거할 때는 열거타입이 월등히 낫습니다.

3. 문자열로 혼합 타입을 표현하는 경우

java
String compoundKey = className + "#" + i.next();

이 경우 className이나 i.next()에 #이 들어가면 혼란스러운 결과를 초래합니다. 각 요소를 개별로 접근하려면 문자열을 파싱해야 해서 느리고, 오류 가능성도 커집니다.
또한, 적절한 equals, toString, compareTo 메서드를 제공할 수 없으며 String이 지원하는 기능에만 의존해야합니다.

4. 문자열로 권한을 표현하는 경우

java
public class ThreadLocal {
private ThreadLocal() {}
public static void set(String key, Object value);
public static Object get(String key);
}

스레드 구분용 문자열 키가 전역 이름공간에 공유된다는 문제가 있습니다.

반응형