我想知道如何判断两个变量在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()。这就是我要寻找的。 p>
答案 0 :(得分:3)
static boolean compareType(Object a, Object b) {
return a.getClass().equals(b.getClass));
}
这些原语将被强制转换为对应的对象。因此,如果进行比较,则Integer和ints将返回true。
话虽这么说,我无法想象使用此方法的充分理由。