1。避免使用字符串替代其他数据类型:
字符串旨在表示文本,但经常被误用来表示数字、枚举或聚合结构。
如果数据本质上是数字,请使用 int、float 或 BigInteger 等类型,而不是 String。
String age = "30"; // incorreto int age = 30; // correto
2.字符串是枚举类型的糟糕替代品:
使用 enum 比使用字符串表示枚举值更安全、更易读。
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