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. long count=count(criteria);
  14. if(count<1){
  15. return count;
  16. }
  17. //当count为0时就不需要下面的条件查询了
  18. Criteria criteria2=getCriteria(clz, conditonObj, includeZeros,isLike,isDistinctRoot,notNullColumn);
  19. if(orderColumnModeMap!=null){
  20. int orderLength=orderColumnModeMap.size();
  21. for(int i=0;i<orderLength;i++){
  22. String orderMode =(String)orderColumnModeMap.getValue(i);
  23. String orderColumn=(String)orderColumnModeMap.get(i);
  24. orderBy(orderColumn, orderMode, criteria2);
  25. }
  26. }
  27. paging(criteria2, first, maxRecordsNum);
  28. list.addAll(criteria2.list());/* 获取查询结果 */
  29. return count;
  30. }

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

对listByPage 的调用:

java中如果需要返回多个值怎么办相关推荐

  1. java中如何返回四维数组_如何从Java中的方法返回数组?

    我们可以从Java中的方法返回Java中的数组.在这里,我们有一个createArray()方法,通过从用户那里获取值来动态创建一个数组并返回创建的数组. 示例import java.util.Arr ...

  2. Java中url传递中文参数取值乱码的解决方法

    Java中url传递中文参数取值乱码的解决方法 参考文章: (1)Java中url传递中文参数取值乱码的解决方法 (2)https://www.cnblogs.com/liwenjuan/p/3211 ...

  3. Java中两数交换引发的值传递问题及解决方案

    Java中两数交换引发的值传递问题及解决方案 今天导师分享了一个有趣的代码,记录一下,让我们一起看看~ //交换两个整数 private static void swap(int i, int j) ...

  4. Java中的参数传递,到底是值传递还是引用传递?

    文章内容为转载,转载自公众号Hollis关于我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种! 原文链接:我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种! 知乎回答链接:Java 到 ...

  5. java hashcode返回1_java – 为什么hashCode()在所有连续执行中为对象返回相同的值?...

    我在 java中尝试一些关于对象相等性的代码.正如我在某处读过的 hashCode() is a number which is generated by applying the hash func ...

  6. java 参数返回_Java基础---Java中带参数返回值方法的使用(四十)

    Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...

  7. Java基础---Java中带参数返回值方法的使用(四十)

    Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...

  8. c++中函数放在等号右边_如何从C或C++中的函数返回多个值?

    新程序员通常在寻找从函数返回多个值的方法.不幸的是,C和C++不允许直接这样做.但是幸运的是,通过一些巧妙的编程,我们可以轻松实现这一目标. 下面是从C函数中返回多个值的方法: 通过使用指针. 通过使 ...

  9. java中8种数据类型和默认值所占字节数

    java 8种基本数据类型的默认值及所占字节数 通过一段代码来测试一下 8种基本数据类型的默认值 1 package dierge; 2 3 public class Ceshi { 4 int a; ...

最新文章

  1. STM32 基础系列教程 1- CubeMX+GPIO
  2. vmware--查看链接克隆依赖关系
  3. Python小游戏(打乒乓)
  4. 【转载】基于Nios II的DMA传输总结(附源码)
  5. 基于JAVA+SpringMVC+MYSQL的学生成绩管理系统
  6. lammps教程:boundary命令详解
  7. 番茄花园xp开机音乐_抱歉,Windows XP的开机音乐骗了你20年
  8. SQL Server数据库第二课:创建数据库表、完善数据库表的设计、建立数据库表之间的关系
  9. instantclient oracle oci
  10. Java 经纬度计算两个点的之间的距离工具类
  11. 点击click触发两次事件解决办法
  12. Python实现PDF合并工具(含源码)
  13. 2014年初款11寸MacBook Air安装Windows 7 64bit操作系统缺少USB3驱动键盘鼠标失效
  14. 机器学习 部署 嵌入式_如何在移动和嵌入式设备上部署机器学习模型
  15. Vultr新用户充值送50刀
  16. C语言中free函数如何确定释放的空间大小
  17. Java 第一个程序Hello
  18. Java缓存资料收集
  19. smbus协议的command_SMBus读取从设备数据总结
  20. 电磁鼓采样器含拓展 – Native Instruments Battery 4.1.6 WiN-MAC

热门文章

  1. iis windows phpstudy安装redis扩展
  2. 部署web应用程序到tomcat
  3. Flume+HBase+Kafka集成与开发
  4. 解决切换场景时NGUI图集资源未释放的问题
  5. 关于angularjs指令
  6. 在Ubuntu 12.04安装和设置Samba实现网上邻居共享
  7. SQL Server游标+延迟执行简介
  8. Bootstrap页面布局10 - BS表格
  9. 年度回忆录(2011.12----2012.09)
  10. .NET生成常用16、32位MD5加密的两种方法