java如何获得实现接口的实际类型
问题描述:
如下代码
public class Test {
public static void main(String[] args) {
List list = new ArrayList();
test(list);
}
public static test(List list) {
//我想在此处获得list的实际类型 即ArrayList 请问如何实现
}
}
答
Class clz = list.getClass(); //获取实际类型 即new谁获取谁的类型
System.out.println(clz);
List list = new ArrayList(); 这是一种多态写法
答
List list=new ArrayList();
if (list instanceof List) {
System.err.println("List");
}
答
[code="java"]
package test;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list = new ArrayList();
test(list);
}
public static void test(List list) {
//我想在此处获得list的实际类型 即ArrayList 请问如何实现
Class clz = list.getClass();
System.out.println(clz.getName());
}
}
[/code]
打印:java.util.ArrayList