我无法访问类的变量a

时间:2017-09-02 18:48:21

标签: java arraylist

如何对从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) { } 
    }
}

0 个答案:

没有答案