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
- /***
- *
- * @param conditonObj : <br />Whether to include query criteria which field is 0. <br />true:add[where xxx=0];<br /> false:no [where xxx=0]
- * @param list
- * @param first : 起始位置
- * @param maxRecordsNum : 最多查询多少条
- * @param orderColumnModeMap : 有序的map用于order by
- * @return
- */
- public long listByPage(Class clz,Object conditonObj,boolean includeZeros,boolean isLike, List list, int first,
- int maxRecordsNum,boolean isDistinctRoot,String notNullColumn,ListOrderedMap orderColumnModeMap) {
- Criteria criteria=getCriteria(clz, conditonObj, includeZeros,isLike,isDistinctRoot,notNullColumn);
- long count=count(criteria);
- if(count<1){
- return count;
- }
- //当count为0时就不需要下面的条件查询了
- Criteria criteria2=getCriteria(clz, conditonObj, includeZeros,isLike,isDistinctRoot,notNullColumn);
- if(orderColumnModeMap!=null){
- int orderLength=orderColumnModeMap.size();
- for(int i=0;i<orderLength;i++){
- String orderMode =(String)orderColumnModeMap.getValue(i);
- String orderColumn=(String)orderColumnModeMap.get(i);
- orderBy(orderColumn, orderMode, criteria2);
- }
- }
- paging(criteria2, first, maxRecordsNum);
- list.addAll(criteria2.list());/* 获取查询结果 */
- return count;
- }
看起来它的返回值只有一个,long类型的,但是其实参数list也是为了获取返回值的
对listByPage 的调用:
java中如果需要返回多个值怎么办相关推荐
- java中如何返回四维数组_如何从Java中的方法返回数组?
我们可以从Java中的方法返回Java中的数组.在这里,我们有一个createArray()方法,通过从用户那里获取值来动态创建一个数组并返回创建的数组. 示例import java.util.Arr ...
- Java中url传递中文参数取值乱码的解决方法
Java中url传递中文参数取值乱码的解决方法 参考文章: (1)Java中url传递中文参数取值乱码的解决方法 (2)https://www.cnblogs.com/liwenjuan/p/3211 ...
- Java中两数交换引发的值传递问题及解决方案
Java中两数交换引发的值传递问题及解决方案 今天导师分享了一个有趣的代码,记录一下,让我们一起看看~ //交换两个整数 private static void swap(int i, int j) ...
- Java中的参数传递,到底是值传递还是引用传递?
文章内容为转载,转载自公众号Hollis关于我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种! 原文链接:我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种! 知乎回答链接:Java 到 ...
- java hashcode返回1_java – 为什么hashCode()在所有连续执行中为对象返回相同的值?...
我在 java中尝试一些关于对象相等性的代码.正如我在某处读过的 hashCode() is a number which is generated by applying the hash func ...
- java 参数返回_Java基础---Java中带参数返回值方法的使用(四十)
Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...
- Java基础---Java中带参数返回值方法的使用(四十)
Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...
- c++中函数放在等号右边_如何从C或C++中的函数返回多个值?
新程序员通常在寻找从函数返回多个值的方法.不幸的是,C和C++不允许直接这样做.但是幸运的是,通过一些巧妙的编程,我们可以轻松实现这一目标. 下面是从C函数中返回多个值的方法: 通过使用指针. 通过使 ...
- java中8种数据类型和默认值所占字节数
java 8种基本数据类型的默认值及所占字节数 通过一段代码来测试一下 8种基本数据类型的默认值 1 package dierge; 2 3 public class Ceshi { 4 int a; ...
最新文章
- STM32 基础系列教程 1- CubeMX+GPIO
- vmware--查看链接克隆依赖关系
- Python小游戏(打乒乓)
- 【转载】基于Nios II的DMA传输总结(附源码)
- 基于JAVA+SpringMVC+MYSQL的学生成绩管理系统
- lammps教程:boundary命令详解
- 番茄花园xp开机音乐_抱歉,Windows XP的开机音乐骗了你20年
- SQL Server数据库第二课:创建数据库表、完善数据库表的设计、建立数据库表之间的关系
- instantclient oracle oci
- Java 经纬度计算两个点的之间的距离工具类
- 点击click触发两次事件解决办法
- Python实现PDF合并工具(含源码)
- 2014年初款11寸MacBook Air安装Windows 7 64bit操作系统缺少USB3驱动键盘鼠标失效
- 机器学习 部署 嵌入式_如何在移动和嵌入式设备上部署机器学习模型
- Vultr新用户充值送50刀
- C语言中free函数如何确定释放的空间大小
- Java 第一个程序Hello
- Java缓存资料收集
- smbus协议的command_SMBus读取从设备数据总结
- 电磁鼓采样器含拓展 – Native Instruments Battery 4.1.6 WiN-MAC