繁体   English   中英

Java数组长度错误

[英]Java array length error

我在Java中遇到数组错误。 Array.legth显示2,但是其中只有一项。
我也尝试转换为列表(Array.asList),但遇到相同的错误。 新的列表size()方法显示2个元素,但在内部又只有一个对象。
如您在图像中所看到的,第一个选择的表达式是listaIntervinientes,它是2的数组(java说),仅用一项购买。
选择的第二个显示前一个表达式的.length()表达式。
最后,第三个选择是使用Arrays.asList(...)创建的列表。
您可以在表达式视图下方看到此代码。
一点,类DecisionFlexEvaluationService是从wsdl自动生成的文件。 我认为这无关紧要,但是...

编辑:最后,我找到了初始化数组的代码:_call.invokem _resp之后的对象是一个名为intervinientes的成员,该成员的length = 2数组,但只有1个孩子。 没有空的第二个孩子。

    public com.efx.genapply.webservices.bean.DecisionFlexEvaluationResponse getEvaluation(
        com.efx.genapply.webservices.bean.DecisionFlexEvaluationRequest peticion)
        throws java.rmi.RemoteException {
    if (super.cachedEndpoint == null) {
        throw new org.apache.axis.NoEndPointException();
    }
    org.apache.axis.client.Call _call = createCall();
    _call.setOperation(_operations[0]);
    _call.setUseSOAPAction(true);
    _call.setSOAPActionURI("");
    _call.setEncodingStyle(null);
    _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
            Boolean.FALSE);
    _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
            Boolean.FALSE);
    _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName(
            "http://webservices.genapply.efx.com", "getEvaluation"));

    setRequestHeaders(_call);
    setAttachments(_call);
    try {
        java.lang.Object _resp = _call
                .invoke(new java.lang.Object[] { peticion });

        if (_resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException) _resp;
        } else {
            extractAttachments(_call);
            try {
                return (com.efx.genapply.webservices.bean.DecisionFlexEvaluationResponse) _resp;
            } catch (java.lang.Exception _exception) {
                return (com.efx.genapply.webservices.bean.DecisionFlexEvaluationResponse) org.apache.axis.utils.JavaUtils
                        .convert(
                                _resp,
                                com.efx.genapply.webservices.bean.DecisionFlexEvaluationResponse.class);
            }
        }
    } catch (org.apache.axis.AxisFault axisFaultException) {
        throw axisFaultException;
    }
}

在此处输入图片说明

是否有可能像这样创建数组:

Type name[]=new Type[2];

如果是这种情况,无论您已经“放入”了多少个元素,name.length都将始终为您提供2。 并将此数组转换为列表会创建一个大小为name.length的列表,因为该列表无法知道该数组是否为空。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM