【发布时间】:2014-07-04 05:27:24
【问题描述】:
我有一个方法用于将参数类型与给定的参数类型进行比较。
private boolean typesMatch(Class<?>[] one, Object[] two)
{
if(one.length != two.length)
return false;
for (int i = 0; (i < one.length)&&(i < two.length); i++)
if(!one[i].equals(two[i].getClass()))
return false;
return true;
}
例如,在一个[] 中,可能有String, boolean。但是,在第二个中,有String, Boolean。你看到我的问题了吗?当它比较 boolean 和 Boolean 时,它返回 false。我该如何解决这个问题,这样我就不必为每个原始类型使用“if 语句”来解包它们?
编辑:我的意思是解开第二个数组中的包装类,使其与第一个数组中的原始类型相当。
最初,数组 2 中的布尔对象作为原始布尔值添加到其中。
【问题讨论】:
标签: java casting comparison type-conversion