1. 다른 데이터 유형의 대체물로 문자열을 사용하지 마십시오:
문자열은 텍스트를 나타내기 위해 설계되었지만 숫자, 열거형 또는 집계 구조를 나타내는 데 오용되는 경우가 많습니다.
데이터가 본질적으로 숫자인 경우 String이 아닌 int, float 또는 BigInteger와 같은 유형을 사용하십시오.
String age = "30"; // incorreto int age = 30; // correto
2. 문자열은 열거형 유형을 대체하기에 적합하지 않습니다:
열거형 값을 표현하기 위해 문자열을 사용하는 것보다 열거형을 사용하는 것이 더 안전하고 읽기 쉽습니다.
String status = "ACTIVE"; // incorreto Status status = Status.ACTIVE; // correto, usando enum
3. 문자열은 집계 유형에 대한 열등한 대체물입니다:
복잡한 데이터를 구분 기호로 구분된 단일 문자열로 표현하면 오류 및 유지 관리 문제가 발생할 수 있습니다. 이 데이터에 대한 클래스를 만드는 것이 좋습니다.
잘못된 예(집계된 데이터를 나타내기 위해 문자열 사용):
String personData = "John|Doe|30";
올바른 예(클래스 사용):
class Person { String firstName; String lastName; int age; // Construtor e métodos adequados }
4. 리소스 대체 문자열(예: 스레드 지역 변수):
문자열을 사용하여 리소스를 스레드 로컬 변수로 식별하면 보안 문제 및 이름 충돌이 발생할 수 있습니다. 더 안전한 키로 교체하세요.
잘못된 예(스레드 지역 변수를 식별하기 위해 문자열 사용):
MapthreadLocalVariables = new HashMap(); threadLocalVariables.put("myVariable", value);
올바른 예(보안 키 사용):
class Key { // implementação da chave } MapthreadLocalVariables = new HashMap(); Key key = new Key(); threadLocalVariables.put(key, value);
ThreadLocal의 올바른 사용:
스레드 로컬 변수에 대한 이상적인 설계에는 유형이 안전한 방식으로 각 스레드와 연관된 변수를 생성할 수 있는 ThreadLocal의 사용이 포함됩니다.
ThreadLocal의 올바른 사용 예:
private static final ThreadLocalthreadId = ThreadLocal.withInitial(() -> 0); public static void main(String[] args) { System.out.println(threadId.get()); // obtem o valor da variável local da thread }
결론:
모든 것에 문자열을 사용하려는 유혹을 피하십시오. 보다 적절한 데이터 유형을 사용하거나 새로운 유형을 생성하면 오류를 방지하고 가독성을 높이며 코드를 더욱 효율적이고 안전하게 만들 수 있습니다.
책의 예:
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3