这个支架是什么<&燃气轮机;你喜欢Java吗?
有人能解释一下这个代码吗这个支架是什么<&燃气轮机;你喜欢Java吗?,java,generics,Java,Generics,有人能解释一下这个代码吗 public void getSupplierByZipCode( @WebParam(name = "zip", targetNamespace = "http://www.webservicex.net/") String zip, @WebParam(name = "GetSupplierByZipCodeResult", targetNamespace = "http://www.webservicex.net/", mode = We
public void getSupplierByZipCode(
@WebParam(name = "zip", targetNamespace = "http://www.webservicex.net/")
String zip,
@WebParam(name = "GetSupplierByZipCodeResult", targetNamespace = "http://www.webservicex.net/", mode = WebParam.Mode.OUT)
Holder<Boolean> getSupplierByZipCodeResult,
@WebParam(name = "SupplierDataLists", targetNamespace = "http://www.webservicex.net/", mode = WebParam.Mode.OUT)
Holder<SupplierDataList> supplierDataLists);
public void getSupplierByZipCode(
@WebParam(name=“zip”,targetNamespace=”http://www.webservicex.net/")
拉链,
@WebParam(name=“GetSupplierByZipCodeResult”,targetNamespace=”http://www.webservicex.net/,mode=WebParam.mode.OUT)
Holder getSupplierByZipCodeResult,
@WebParam(name=“SupplierDataList”,targetNamespace=”http://www.webservicex.net/,mode=WebParam.mode.OUT)
持有人供应商数据表);
我以前从未在Java中见过Holder
。功能中的Holder
和Holder
是什么?它们像输出吗??我需要此功能中的供应商数据列表。请参见-整个目的是“保留值”,同时允许对其自身进行副作用修改(从而更改其“保留”的值)
可以重新分配表示包含的/保持的值的实例变量(值
);这用于通过显式修改作为参数提供的保持器,促进WS-中[多个]值如何“返回”。(还要注意webgram.Mode.OUT
的用法。)
这个“额外的层”是必需的,因为Java总是;持有者然后实际上伪造了一个指针间接寻址(让我们称之为“引用间接寻址”),就像在C中可能做的那样,这导致了语义
想象一下:
// Outside WS function - setup parameters and invoke
String zip = "98682";
Holder<Boolean> result = new Holder<Boolean>();
getSupplierByZipCode(zip, result, ..);
// Then inside the function the Holder is modified and a new value
// is assigned to it's value member.
getSupplierByZipCodeResult.value = true;
// And outside again, the mutations are visibile still
if (result.value) {
// Yay!
}
//外部WS函数-设置参数和调用
字符串zip=“98682”;
保持架结果=新保持架();
getSupplierByZipCode(zip、结果,…);
//然后在函数内部修改保持器并生成一个新值
//已指定给其值成员。
getSupplierByZipCodeResult.value=true;
//在外面,突变仍然可见
if(result.value){
//耶!
}
由于字符串是不可变的,并且邮政编码没有包装在持有者中,因此邮政编码不能被WS-call更改(或“返回”)
另见:
result
变量用法中给出的模板。提供一个Holder
(因为它只是一个OUT参数,所以不必提供初始Holder值),该参数可以修改为在WS方法中“返回”一个值。然后在调用后使用值。