假設我最初聲明并定義了一組整數,如下所示: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
提交
取消