私は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はそのようなコンパイル時機能を追加したのですか?
ありがとう、グンジャン。