如何对从ArrayList
一般地获取的对象进行类型转换?
get(index)
根据我们传递的类型返回元素。但是在通用中,我传递T
作为ArrayList
的参数。当我尝试访问列表中的元素时,我必须明确地对其进行类型转换。但我不能硬编码。
请为我提供解决方案,如何在没有硬编码的情况下进行类型转换。
// obj.get(0).a is throwing error : Variable a is not found in Object class.
import java.util.*;
public class Test {
int a;
public static void main(String a[]) {
ArrayList<Test> t = new ArrayList<Test>();
Test t1 = new Test();
t1.a=9;
Test t2 = new Test();
t1.a=9;
t.add(t1);
t.add(t2);
new B().finf(t);
}
}
class B {
public <T> void finf(ArrayList<T> obj) {
try {
System.out.println((obj.get(0)).a);
} catch(Exception e) { }
}
}