java中如果需要返回多个值怎么办

简介:

Java中如果需要返回多个值怎么办

首先我们明确一下:java方法的返回值只有一个,但是返回值的类型不限

有一种编程语言可以返回多个值

Python,实例如下:


 运行结果如下:

[whuang@huangwei function2]$ ./function_dict02.py

My name is  Walter

My age is  23



 

在java中如何达到相同的目的呢?

(1)把这多个返回值再封装成为对象

可以封装成为java bean,数组,ArrayList ,甚至Map

下面看一个实际案例



 简单说明一下:

这个方法是发送http 请求,返回的内容有四项:请求的结果,sessionId,response code,contentType

我是如何做的呢? 把这四项放到了一个Object数组中

 

(2)向方法传递一个空对象,把要返回的值放在该参数中

下面这个方法中有一个参数,类型是List

Java代码   收藏代码
  1. /*** 
  2.      *  
  3.      * @param conditonObj : <br />Whether to include query criteria which field is 0. <br />true:add[where xxx=0];<br /> false:no [where xxx=0] 
  4.      * @param list 
  5.      * @param first : 起始位置 
  6.      * @param maxRecordsNum : 最多查询多少条 
  7.      * @param orderColumnModeMap : 有序的map用于order by 
  8.      * @return 
  9.      */  
  10.     public long listByPage(Class clz,Object conditonObj,boolean includeZeros,boolean isLike, List list, int first,  
  11.             int maxRecordsNum,boolean isDistinctRoot,String notNullColumn,ListOrderedMap orderColumnModeMap) {  
  12.         Criteria criteria=getCriteria(clz, conditonObj, includeZeros,isLike,isDistinctRoot,notNullColumn);  
  13.   
  14.   
  15.         long count=count(criteria);  
  16.         if(count<1){  
  17.             return count;  
  18.         }  
  19.         //当count为0时就不需要下面的条件查询了  
  20.         Criteria criteria2=getCriteria(clz, conditonObj, includeZeros,isLike,isDistinctRoot,notNullColumn);  
  21.   
  22.         if(orderColumnModeMap!=null){  
  23.             int orderLength=orderColumnModeMap.size();  
  24.             for(int i=0;i<orderLength;i++){  
  25.                 String orderMode =(String)orderColumnModeMap.getValue(i);  
  26.                 String orderColumn=(String)orderColumnModeMap.get(i);  
  27.                 orderBy(orderColumn, orderMode, criteria2);  
  28.             }  
  29.         }  
  30.         paging(criteria2, first, maxRecordsNum);  
  31.         list.addAll(criteria2.list());/* 获取查询结果 */  
  32.           
  33.         return count;  
  34.     }  

 看起来它的返回值只有一个,long类型的,但是其实参数list也是为了获取返回值的

对listByPage 的调用:


 

相关文章
|
前端开发 Java
Java下载多个文件打成压缩包返回输出流,并解决被JVM占用无法打开
Java下载多个文件打成压缩包返回输出流,并解决被JVM占用无法打开
696 0
Java下载多个文件打成压缩包返回输出流,并解决被JVM占用无法打开
|
存储 JSON 缓存
Java小技能:多级菜单排序并返回树结构菜单列表
需求: 菜单管理(服务商角色配置权限管理)、文章分类、MCC类目、区域信息。
410 0
Java小技能:多级菜单排序并返回树结构菜单列表
|
SQL JSON Java
JAVA返回树结构(宇宙第一详细教程)
JAVA返回树结构(宇宙第一详细教程)
JAVA返回树结构(宇宙第一详细教程)
|
Java 测试技术
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
172 0
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。(Java语言实现)
|
算法 Java C语言
JNI内形参从C代码中获取返回值并返回到Java层使用
JNI内形参从C代码中获取返回值并返回到Java层使用
662 0
JNI内形参从C代码中获取返回值并返回到Java层使用
|
Java
java学习第十一天笔记-字符串218-返回多个数据
java学习第十一天笔记-字符串218-返回多个数据
67 0
java学习第十一天笔记-字符串218-返回多个数据
|
小程序 Java
微信小程序之JAVA后台上传图片,并且返回图片路径
微信小程序之JAVA后台上传图片,并且返回图片路径
671 0
|
Java
Java如何不用“return”返回数据
Java如何不用“return”返回数据
241 0