[問題] 請問一個Collection的問題
import java.util.*;
public class ArrayListDemo {
public static void main(String[] args) {
List lists = new LinkedList();
lists.add("abc");
lists.add(new Integer(3));
lists.add("def");
lists.add(new Integer(3));
System.out.println(lists);
Iterator it = lists.iterator();
while(it.hasNext()) {
if(it.next() instanceof String) {
String str = (String)it.next();
System.out.println(str);
}
else if(it.next() instanceof Integer) {
Integer integer = (Integer)it.next();
System.out.println(integer);
}
//System.out.println(it.next() instanceof String);
//System.out.println(it.next() instanceof Integer);
}
}
}
請問在未用泛型時,利用Iterator照順序取出List內的物件
要使用該物件的功能時必須自己轉型回物件原本的型態
那我用instanceof來一一檢查該物件是否為某個型態再轉型
可是執行時會出現ClassCastException
因為這個範例只有String和Integer物件,我也一一檢查了
請問為什麼在轉型時還是失敗了呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.52.188
推
07/02 22:07, , 1F
07/02 22:07, 1F
※ 編輯: jtorngl 來自: 124.8.52.188 (07/02 22:19)
→
07/02 22:24, , 2F
07/02 22:24, 2F
→
07/02 22:26, , 3F
07/02 22:26, 3F
→
07/02 22:50, , 4F
07/02 22:50, 4F
推
07/02 23:25, , 5F
07/02 23:25, 5F
推
07/02 23:27, , 6F
07/02 23:27, 6F
推
07/02 23:51, , 7F
07/02 23:51, 7F
推
07/03 16:16, , 8F
07/03 16:16, 8F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):