首页 > 解决方案 > 在 Java 中查找变量的原始数据类型

问题描述

我想知道如何判断两个变量是否在 Java 中共享相同的原始数据类型。假设有一个方法 compareType(),如果两个变量共享相同的原始数据类型,它将返回 true;否则为假。

例如,

int i = 1;
int i1 = 2;
long l = 1;
float f = 0.1f;
double d = 0.1d;

然后, compareType(f,d) 将返回 false;compareType(i,l) 将返回 false;compareType(i,i1) 将返回 true;

我知道在 Python 中有一个函数 type() 会返回类似“int”的东西,而 compareType() 的关键组件是 Java 中的一个函数,它的作用类似于 Python 中的 type()。这就是我正在寻找的。

标签: javaprimitive-types

解决方案


static boolean compareType(Object a, Object b) {
    return a.getClass().equals(b.getClass));
}

原语将被强制转换为对应的对象。因此,如果比较,整数和整数将返回 true。

话虽如此,我无法想象有一个很好的理由来使用这种方法。


推荐阅读