首页 >Java >java教程 >Item 避免使用其他类型更合适的字符串

Item 避免使用其他类型更合适的字符串

Susan Sarandon
Susan Sarandon原创
2024-10-17 22:10:05686浏览

1。避免使用字符串替代其他数据类型:

字符串旨在表示文本,但经常被误用来表示数字、枚举或聚合结构。
如果数据本质上是数字,请使用 int、float 或 BigInteger 等类型,而不是 String。

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。字符串替代资源(例如:线程局部变量):

使用字符串将资源标识为线程局部变量可能会导致安全问题和名称冲突。更换为更安全的密钥。

错误示例(使用字符串来标识线程局部变量):

Map<String, Object> threadLocalVariables = new HashMap<>();
threadLocalVariables.put("myVariable", value);

正确示例(使用安全密钥):

class Key {
    // implementação da chave
}

Map<Key, Object> threadLocalVariables = new HashMap<>();
Key key = new Key();
threadLocalVariables.put(key, value);

ThreadLocal的正确使用:

线程局部变量的理想设计涉及使用 ThreadLocal,它允许以类型安全的方式创建与每个线程关联的变量。

ThreadLocal的正确使用示例:

private static final ThreadLocal<Integer> threadId = ThreadLocal.withInitial(() -> 0);

public static void main(String[] args) {
    System.out.println(threadId.get());  // obtem o valor da variável local da thread
}

结论:

避免一切都使用字符串的诱惑。使用更合适的数据类型或创建新类型可以防止错误、提高可读性并使代码更加高效和安全。

书中的示例:

Item  Evite as strings onde outros tipos forem mais adequados

Item  Evite as strings onde outros tipos forem mais adequados

以上是Item 避免使用其他类型更合适的字符串的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn