Maison > Java > javaDidacticiel > le corps du texte

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

Susan Sarandon
Libérer: 2024-10-17 22:10:05
original
534 Les gens l'ont consulté

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

Copier après la connexion

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

Copier après la connexion

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";

Copier après la connexion

Exemple correct (utilisation d'une classe) :

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

    // Construtor e métodos adequados
}

Copier après la connexion

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);

Copier après la connexion

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);

Copier après la connexion

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
}

Copier après la connexion

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!