Stringreferenzen: Unterschied zwischen den Versionen

Aus Programmieren-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Bewertungsrichtlinie
{{Bewertungsrichtlinie
|blatt=3
|baustelle=Ja
|blatt=2
|beschreibung=Objekte anhand von Strings zu referenzieren, ist sehr ungenau und fehleranfällig.
 
Abgesehen davon ist es schwer, viele Strings zu erhalten, um entsprechende Objekte zu verwalten oder auf diese zuzugreifen.
 
Besser ist es, Objekte über typisierte Java-Referenzen zu referenzieren. Diese sind genauer, eindeutiger und vor allem einfacher zu erhalten und weiterzureichen, um mit diesen dann zu arbeiten.
|schweregrad=leicht
|schweregrad=leicht
|negativ=<syntaxhighlight lang="Java">
private List<Person> members = ... 
  
public void deleteMember(String person) { 
    Iterator<Person> iterator = members.iterator(); 
    while (iterator.hasNext()) { 
        Person member = iterator.next(); 
        if (member.toString().equals(person)) { 
            iterator.remove(); 
        } 
    } 
}
</syntaxhighlight>
|positiv=<syntaxhighlight lang="Java">
private List<Person> members = ... 
  
public void deleteMember(Person person) { 
    members.remove(person); 
}
</syntaxhighlight>
|weiterlesen=Ja
|seite=Datentypen
}}
}}
{{Baustelle}}
[[Datentypen]]

Aktuelle Version vom 17. Oktober 2024, 11:46 Uhr

🚧 Diese Seite befindet sich in Bearbeitung 🚧
🤓 Diese Seite ist eine Bewertungsrichtlinie, die ab Blatt 2 annotiert und ab Blatt 3 abgezogen wird. 🤓

Beschreibung

Objekte anhand von Strings zu referenzieren, ist sehr ungenau und fehleranfällig.

Abgesehen davon ist es schwer, viele Strings zu erhalten, um entsprechende Objekte zu verwalten oder auf diese zuzugreifen.

Besser ist es, Objekte über typisierte Java-Referenzen zu referenzieren. Diese sind genauer, eindeutiger und vor allem einfacher zu erhalten und weiterzureichen, um mit diesen dann zu arbeiten.


Negativbeispiel

private List<Person> members = ...  
   
public void deleteMember(String person) {  
    Iterator<Person> iterator = members.iterator();  
    while (iterator.hasNext()) {  
        Person member = iterator.next();  
        if (member.toString().equals(person)) {  
            iterator.remove();  
        }  
    }  
}

Positivbeispiel

private List<Person> members = ...  
   
public void deleteMember(Person person) {  
    members.remove(person);  
}


Wenn du diese Seite interessant fandest, findest du hier noch mehr Seite(n) dazu:
Datentypen