Maison  >  Article  >  Java  >  Élément Évitez les chaînes là où d'autres types sont plus appropriés

Élément Évitez les chaînes là où d'autres types sont plus appropriés

Susan Sarandon
Susan Sarandonoriginal
2024-10-17 22:10:05535parcourir

1. Évitez d'utiliser des chaînes comme substituts à d'autres types de données :

Les chaînes sont conçues pour représenter du texte, mais sont souvent utilisées à mauvais escient pour représenter des nombres, des énumérations ou des structures agrégées.
Si les données sont de nature numérique, utilisez des types comme int, float ou BigInteger, pas String.

String age = "30";  // incorreto
int age = 30;       // correto

2. Les chaînes sont de mauvais substituts aux types enum :

L'utilisation d'énumérations est plus sûre et plus lisible que l'utilisation de chaînes pour représenter des valeurs énumérées.

String status = "ACTIVE";  // incorreto
Status status = Status.ACTIVE;  // correto, usando enum

3. Les chaînes sont des substituts inférieurs aux types d'agrégats :

Représenter des données complexes sous la forme d'une chaîne unique, séparée par des délimiteurs, peut provoquer des erreurs et des problèmes de maintenance. Il est préférable de créer des classes pour ces données.

Exemple incorrect (utilisation d'une chaîne pour représenter des données agrégées) :

String personData = "John|Doe|30";

Exemple correct (utilisation d'une classe) :

class Person {
    String firstName;
    String lastName;
    int age;

    // Construtor e métodos adequados
}

4. Chaînes comme substituts aux ressources (Exemple : variables locales de thread) :

L'utilisation de chaînes pour identifier des ressources en tant que variables locales du thread peut entraîner des problèmes de sécurité et des collisions de noms. Remplacez par des clés plus sécurisées.

Exemple incorrect (utilisation d'une chaîne pour identifier la variable locale du thread) :

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

Exemple correct (utilisation d'une clé sécurisée) :

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

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

Utilisation correcte de ThreadLocal :

La conception idéale pour les variables locales de thread implique l'utilisation de ThreadLocal, qui permet la création de variables associées à chaque thread de manière sécurisée.

Exemple d'utilisation correcte de 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
}

Conclusion :

Évitez la tentation d'utiliser des ficelles pour tout. L'utilisation de types de données plus appropriés ou la création de nouveaux types évite les erreurs, améliore la lisibilité et rend le code plus efficace et plus sécurisé.

Exemples du livre :

Item  Evite as strings onde outros tipos forem mais adequados

Item  Evite as strings onde outros tipos forem mais adequados

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn