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:
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!