假设我最初声明并定义了一组整数,如下所示:Set<Integer> s = new TreeSet<>();现在,稍后我想使用特定于 TreeSet 的方法。想象一下我在我的项目中需要很多次。以下哪种方法被认为是更值得坚持的做法?1- 在开始使用 s 之前写这个,在我的方法的开头s = (TreeSet) s;2-使用包含的类型编写(再次在我的方法开头)s = (TreeSet<Integer>) s;3-仅在我需要访问 TreeSet 特定方法时才从 Set 转换为 TreeSetInteger x = ((TreeSet)s).first();
1 回答

繁星淼淼
TA贡献1775条经验 获得超11个赞
正如其他人所说,如果重要的话,您不需要在声明之后失去存在的背景Set。TreeSet
A TreeSetis-a Set,因此您应该能够将其作为 a 传递Set。
例如:
Set<Integer> getSetButDoSomethingSpecial() {
TreeSet<Integer> treeSet = new TreeSet<>();
//Do something specific to treeSet
return treeSet;
}
添加回答
举报
0/150
提交
取消