让我们想象一下:
public class Test
{
class A
{
private String name = "toto";
public String getId()
{
return name;
}
}
class B
{
int id = 99;
public String getId()
{
return String.valueOf(id);
}
}
public static void main(String[] args)
{
Test t = new Test();
A a = t.new A();
B b = t.new B();
List<A> list = new ArrayList<A>();
list.add(a);
list.add(a);
list.add(a);
List<?> genericList = list;
for(Object obj : genericList)
{
System.out.println(obj.getId());
}
}
}
System.out.println 编译时出错
The method getId() is undefined for the type Object
好的,这很正常。
但是我该怎么做才能让它工作呢?有没有可能有类似的东西
((obj.getClass().getSimpleName())obj).getId()