Heim  >  Artikel  >  Java  >  Artikel Vermeiden Sie Zeichenfolgen, bei denen andere Typen besser geeignet sind

Artikel Vermeiden Sie Zeichenfolgen, bei denen andere Typen besser geeignet sind

Susan Sarandon
Susan SarandonOriginal
2024-10-17 22:10:05542Durchsuche

1. Vermeiden Sie die Verwendung von Zeichenfolgen als Ersatz für andere Datentypen:

Strings dienen der Darstellung von Text, werden jedoch häufig missbraucht, um Zahlen, Aufzählungen oder Aggregatstrukturen darzustellen.
Wenn die Daten numerischer Natur sind, verwenden Sie Typen wie int, float oder BigInteger, nicht String.

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

2. Strings sind ein schlechter Ersatz für Enum-Typen:

Die Verwendung von enum ist sicherer und besser lesbar als die Verwendung von Zeichenfolgen zur Darstellung von Aufzählungswerten.

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

3. Strings sind minderwertige Ersatzstoffe für Aggregattypen:

Die Darstellung komplexer Daten als einzelne Zeichenfolge, getrennt durch Trennzeichen, kann zu Fehlern und Wartungsproblemen führen. Es ist besser, Klassen für diese Daten zu erstellen.

Falsches Beispiel (Verwendung einer Zeichenfolge zur Darstellung aggregierter Daten):

String personData = "John|Doe|30";

Richtiges Beispiel (Verwendung einer Klasse):

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

    // Construtor e métodos adequados
}

4. Zeichenfolgen als Ersatz für Ressourcen (Beispiel: lokale Thread-Variablen):

Die Verwendung von Zeichenfolgen zur Identifizierung von Ressourcen als Thread-lokale Variablen kann zu Sicherheitsproblemen und Namenskollisionen führen. Durch sicherere Schlüssel ersetzen.

Falsches Beispiel (Verwendung einer Zeichenfolge zur Identifizierung der lokalen Thread-Variable):

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

Korrektes Beispiel (Verwendung eines sicheren Schlüssels):

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

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

Korrekte Verwendung von ThreadLocal:

Das ideale Design für lokale Thread-Variablen beinhaltet die Verwendung von ThreadLocal, das die typsichere Erstellung von Variablen ermöglicht, die jedem Thread zugeordnet sind.

Beispiel für die korrekte Verwendung von 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
}

Fazit:

Widerstehen Sie der Versuchung, für alles Strings zu verwenden. Die Verwendung geeigneterer Datentypen oder die Erstellung neuer Typen verhindert Fehler, verbessert die Lesbarkeit und macht den Code effizienter und sicherer.

Beispiele aus dem Buch:

Item  Evite as strings onde outros tipos forem mais adequados

Item  Evite as strings onde outros tipos forem mais adequados

Das obige ist der detaillierte Inhalt vonArtikel Vermeiden Sie Zeichenfolgen, bei denen andere Typen besser geeignet sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn