keySet()返回java.util.Set。 爲什麼不投射到NavigableSet拋出ClassCastException? 這可能是真實的Object是一個帶有java.util.Set引用的TreeSet。我無法理解這一點。爲什麼不投射到NavigableSet拋出ClassCastException?
import java.util.*;
class A1{}
public class Main{
public static void main(String args[]){
SortedMap nvs=new TreeMap();
nvs.put(1,"one");
nvs.put(2,"two");
nvs.put(3,"three");
nvs.put(4,"four");
NavigableSet nss=(NavigableSet)nvs.keySet();
for(Object ob: nss){
System.out.print(nvs.get(ob)+", ");
}
}
}
+1顯示實際來源:) – PermGenError
也許你可能還補充說'KeySet'是'TreeMap'類內的'static final class',它實現了'NavigableSet'接口。這將完成你的答案。 –
@RohitJain謝謝,也加了這個。 –