两个TreeSet之间有什么区别吗?:
Set<String> s = new TreeSet<String>();
SortedSet<String> s = new TreeSet<String>();
答案 0 :(得分:2)
差异是对s类型共享的方法有效(如果你不投射它)。但对象真实类型是相同的。
答案 1 :(得分:0)
致电new HashSet<String>()
将始终创建一个空的HashSet
。虽然这些都是不同的实例,但它们是相同的,无论您是将它们分配给HashSet
,Set
还是普通的Object
。
但请注意,HashSet
不 a SortedSet
,问题中的第二个语句将导致编译错误。
答案 2 :(得分:-2)
只有他们的明显类型不同。由于他们的真实类型是相同的,他们的行为将是相同的。
它类似于:
Integer i = 42;
Object o = i;
String s1 = i.toString(); // "42"
String s2 = o.toString(); // "42"