Java "Interface"类



在Java中,有一个Class类可以用来表示其他类,而无需实例化它们。例如:

Class[] foo = { ArrayList.class, String.class, Character.class, Integer.class, MyCustomClass.class };
ArrayList bar = foo[0].newInstance();

将是有效的代码。例如,我还可以运行一个Object数组,并对foo数组中的相应类进行instanceof检查,该数组具有潜在的应用。

Java 中是否存在这样的接口类?有没有一些类我可以做类似的事情:

Interface[] foo = {Comparable, List<String>, MyCustomInterface}

由于从Java 8开始,接口现在可以有静态方法,因此这种行为可能很有用,如果做法不好。它存在吗?

接口只是一个Class.isInterface()返回 true 的类。所以:

Class<?>[] foo = {Comparable.class, List.class, MyCustomInterface.class};

请注意,没有泛型类实例,例如 List<String>:这只是原始List.class

最新更新