我正在使用 JAVA 泛型概念测试一些小实用程序。
我尝试从一个通用的函数返回一个列表,但编译不允许我这样做。
检查下面的代码:
package com.test.generic.method;
import java.util.ArrayList;
import java.util.List;
public class Sample_3<T> {
public <T> List<T> testReturn(T t) {
List<T> list = new ArrayList<T> ();
list.add(t);
return list;
}
public static void main(String a[]) {
String s = "Gunjan";
Sample_3 sample = new Sample_3<String>();
List<String> list =(List<String>) sample.testReturn(sample);
for(String ab : list){
System.out.println(ab);
}
}
}
它给
ClassCastException
.
如何从通用函数返回列表?为什么 JAVA 添加了这样的编译时特性?
谢谢,甘扬。