如何在Java中建立类类型的类型,而无需实例化对象?

如何在Java中建立类类型的类型,而无需实例化对象?,java,class,Java,Class,假设我在Java中有一个类值数组,我想遍历该数组以查找Double位于哪个位置。 我尝试了以下方法: public class ClassTypes { public static void main(String[] args) { Class []types = {String.class, Double.class}; for (int i = 0 ; i < types.length; i++) {

假设我在Java中有一个类值数组,我想遍历该数组以查找Double位于哪个位置。 我尝试了以下方法:

public class ClassTypes {

    public static void main(String[] args) {
        Class []types = {String.class, Double.class};
        for (int i = 0 ; i < types.length; i++)
        {
                if (types[i].isInstance(Double.class)){
                    System.out.println("DOUBLE"); //never printed 
                }
        }
    }}
公共类类类型{
公共静态void main(字符串[]args){
Class[]types={String.Class,Double.Class};
for(int i=0;i
我没有对象的实例,因此不能使用instanceof,我希望避免在类对象上使用getName来执行比较。 有人能建议我怎么做吗?

类型[i].equals(Double.class)

类型[i].equals(Double.class)

你真正需要的是,不是
equals
和not==(它们对于类来说是一样的)。对于像Double和String这样的期末课程,这当然不重要

如果您试图检查该类是否为
java.lang.Number
(或任何接口/抽象类),则==方法将失败。

您实际需要的是,而不是
等于
和不==(它们对于类是相同的)。对于像Double和String这样的期末课程,这当然不重要


如果您试图检查类是否是
java.lang.Number
(或任何接口/抽象类),则==方法将失败。

方法
isInstance
对象作为参数,而不是
类的实际实例。方法
isInstance
对象作为参数,不是
类的实际实例
。事实上,
==
而不是
equals()
在这里也是有效的。是的,类的定义是==但==和equals都不反映
的实例
,答案是误导性的。实际上,
=
而不是
equals()
在这里也是有效的。是的,类的定义是==但==和equals都不能反映
isInstanceOf
,答案是误导性的。