2017-06-07 4 views
1

Frage: Warum ist es nicht möglich, Set <Object> = new TreeSet <String> zu tun? Warum muss ich hinzufügen? erweitert.Warum es nicht möglich ist Set <Object> = new TreeSet <String>

wie es Gefühl ist ein Satz von Objekten und nicht eine Einheit, so dass es jede Art von Sammlung zu bekommen, aber die rechte Seite der Gleichung kennt nur Sammlung von Strings

+0

http://tutorials.jenkov.com/java-generics/wildcards.html gibt es eine gute Erklärung – xyz

Antwort

2

Zu einem Set<Object> verstehen Sie Instanzen hinzufügen von Integer, String oder einem anderen Referenztyp.

Zu einem TreeSet<String> können Sie nur Instanzen von String hinzufügen.

Daher ist der Compiler erlaubt keine TreeSet<String> einen Set<Object> zuweisen, da es Ihnen jeden Referenztyp auf eine TreeSet hinzufügen würde es ermöglichen, die String s nur halten sollte.

Verwandte Themen