我想寫能夠接受這兩個對象作爲參數中的任何一個的功能:接受不同的設置,實現作爲參數
private static TreeSet<String> TREESET = new TreeSet<String>();
private static HashSet<String> HASHSET = new HashSet<String>();
我已經嘗試過這樣的
public static void printSet(Set s) {
//
}
和
public static void printSet(Set<String> s) {
//
}
即使在調用時轉換集合,我也會得到一個錯誤。什麼是正確的方法來做到這一點?
更新1
我已經試過與不鑄件:
printSet(SET);
printSet((Set) SET);
printSet((Set<String> SET);
更新2
錯誤:
Exception in thread "main" java.lang.ClassCastException: TreeSet cannot be cast to java.util.Set at HashTreeSetClient.main(HashTreeSetClient.java:34)
你是如何調用該方法的?不要使用原始類型。 –
使用'public static void printSet(Set s)' –
Braj
你沒有得到「一個錯誤」。您遇到特定的錯誤,並顯示特定的錯誤消息,指出問題出在哪裏以及在哪裏。不讀/張貼這個錯誤信息是你最大的錯誤。 –