Welche Sammelklasse in Java bricht das S.O.L.I.D Prinzip? [geschlossen]

8

Ich wurde in einem Interview gefragt, welche Sammlung das Prinzip S.O.L.I.D bricht ??

Kann jemand erklären, welcher ist es und wie?

    
java newbie 24.07.2014, 12:12
quelle

1 Antwort

12

Java bietet eine generische Sammlung mit dem Namen IdentityHashMap<K,V> bricht das Substitutionsprinzip von Liskov - das "L" in SOLID, indem es absichtlich den Vertrag von Map<K,V> verletzt.

Hier ist ein Hinweis aus der Dokumentation der Klasse IdentityHashMap<K,V> :

  

Diese Klasse ist keine universelle Kartenimplementierung! Während diese Klasse die Map-Schnittstelle implementiert, verletzt sie absichtlich den allgemeinen Vertrag von Map, der beim Vergleich von Objekten die Verwendung der equals-Methode vorschreibt. Diese Klasse ist nur für die seltenen Fälle vorgesehen, in denen Semantik für die Referenzgleichheit erforderlich ist.

    
dasblinkenlight 24.07.2014, 12:20
quelle

Tags und Links