[問題] Generic 的 cast 問題
希望下面的 mList 可以不 cast 直接使用,請問是不是做不到?
import java.util.LinkedList;
import java.util.List;
public class AbsList {
private List<?> mList;
private String mType;
public AbsList newInstance(String type) {
mType = type;
switch (type) {
case "String":
mList = new LinkedList<String>();
break;
case "Number":
mList = new LinkedList<Number>();
}
return this;
}
public void go() {
switch (mType) {
case "String":
((List<String>) mList).add("A");
for (String s : (List<String>) mList)
System.out.println(s);
break;
case "Number":
((List<Number>) mList).add(0);
for (Number n : (List<Number>) mList)
System.out.println("" + n);
}
}
public static void main (String[] args) {
new AbsList().newInstance("String").go();
}
}
--
http://changyuheng.github.io/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.98.95
※ 文章網址: http://www.ptt.cc/bbs/java/M.1418314103.A.5E9.html
→
12/12 10:14, , 1F
12/12 10:14, 1F
→
12/12 10:45, , 2F
12/12 10:45, 2F
→
12/12 10:45, , 3F
12/12 10:45, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 6 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章