1 概念:
Java 在方法中实现两种返回值
这个实现两种返回值是通俗的说法.其中一个方法的返回就是方法的返回值
比如:public String xxxmethod(){}
而第二种方法的返回值就是在形参上面进行返回.
有一个如下方法:
代码如下:
public String AddCicOrg(List<CicOrg> entitys, List<ErrorModel> errorModels) {
try
{
int len = entitys.size();
CicOrg[] cicOrgs = new CicOrg[len];
for (int i = 0; i <len;i++) {
cicOrgs[i] = entitys.get(i);
}
ErrorModelEntity model = ws.addCicOrg(cicOrgs);
if(model.getErrorCode() == null || model.getErrorCode().isEmpty())
return Code_100;
else
{
String res = model.getErrorCode();
for (ErrorModel error:model.getGetErrorModels()
) {
errorModels.add(error);
}
return res;
}
}
catch(Exception ex)
{
return Code_106;
}
}
2 调用时候:
// 实参
List<CicOrg> entitys = new ArrayList<CicOrg>();
// 返回值类型1 初始为null
List<ErrorModel> errorModels = new ArrayList<ErrorModel>();
// res 为返回值类型2
String res = webServiceFunc.ModifyCicOrg(entitys, errorModels);
// 以下输出就是两种返回值类型
System.out.println(res);
System.out.println(errorModels);
3. 解释:
先定义一个空的List类型的集合errorModels ,然后把他当做方法的形参一起传入到方法中.
在11行方法调用处可以拿到 ErrorModelEntity对象,对象里面有一个 List的属性值,
在17行就是把返回的对象中的集合进行遍历,并添加到errorModels中,由于开始定义的errorModels是空的,一旦遍
历添加进数据的话,方法执行完errorModels就不为空了. 这个errorModels就是第二种返回类型