Java 如何使用整数类型转换CIMValue?
在我的代码中,我需要比较CIMValue和integer。在这里我无法打字Java 如何使用整数类型转换CIMValue?,java,authorize.net-cim,Java,Authorize.net Cim,在我的代码中,我需要比较CIMValue和integer。在这里我无法打字 CIMValue op ; if(op ! = 0 || 4096) // here i need to validate whether CIMValue is 0 or 4096 //错误:不兼容的操作数类型CIMValue和int int value = (Integer)op.getValue(); if(value ! = 0 || value != 4096){ } 如果CIMValue ove
CIMValue op ;
if(op ! = 0 || 4096) // here i need to validate whether CIMValue is 0 or 4096
//错误:不兼容的操作数类型CIMValue和int
int value = (Integer)op.getValue();
if(value ! = 0 || value != 4096){
}
如果CIMValue overrides等于…,请使用:
或者可能:
int i = op.getValue() //????
if(i != 0 || i != 4096)
我想你应该试试这个
int iValue = (Integer)op.getValue();
if(iValue ! = 0 || iValue ! = 4096)
我相信你指的是,所以:
使用ifop=0&&op==4096当您尝试比较完全不同的类型时,错误非常明显。检查CIMValue对象是否有任何整数表示形式,并对其进行比较。可能是这个:在这种情况下,有一个getValue可能返回一个数字,因此您可以执行intValue。您在没有足够信息的情况下问了问题,所以我投了反对票。@AmirPashazadeh我对编码非常陌生,对javasblim也很陌生。这也是您已经解决的一个问题,但实际上这不是一个主要问题。最好使用Numbervalue.intValue。谁知道/if equals是如何工作的。如果值是双精度的呢?然后intValue将对其进行强制转换并降低精度。局部变量iValue的值从未使用过。哈哈:
int iValue = (Integer)op.getValue();
if(iValue ! = 0 || iValue ! = 4096)
Object value = op.getValue();
if (value instanceof Number) {
if (value.equals(0) || value.equals(4096)) {
// do your stuff
}
}