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 的调用:
python 学习笔记见附件
相关推荐
由于某些项目需要知道一个函数处理中需要返回函数的处理状态,同时 也想知道函数处理的数据,这是我们就需要...那么怎么解决返回多个参数值呢? 解决方式就是用HashMap来保存返回的结果.这样就可以解决多个返回值的问题
主要介绍了java实现从方法返回多个值功能,结合实例形式分析了集合类、封装对象、引用传递三种实现方法,需要的朋友可以参考下
java读取xls中的数据,每个对象对应多个属性值,根据每个对象的属性值来生成一个二维矩阵
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历...
java调用存储过程,支持获取return值,output返回值,以及查询的表数据,表数据允许有多个查询结果集
java实现mqtt的发送和订阅,代码中有详细的注释,是分服务端和客户端来测试的,并有断开重连的处理!
主要介绍了java8 利用reduce实现将列表中的多个元素的属性求和并返回操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
“工欲善其事,必先利其器”,在Java程序开发过程中,很多算法(比如:MD5加密算法)、很多数据结构(比如链表LinkedList)已经实现并且大多放在类库的java.util包中,程序员只需要了解各种工具的功能就可以直接调用...
JList多选值的获取, 由JList组件实现的列表框有3种选取模式,设置方法为通过JList类的setSelectionMode(int selectionMode)方法,该方法的入口参数可以通过ListSelectionModel类中的静态常量设置。
java中存储过程的使用,通过实例说明 建立一个向表中插入记录的存储过程 存储过程有返回值的使用 返回书本的名字和出版社,返回的是多个值
对Java语言的每个语法都提供了一个或多个例程讲解 大量使用流程图表示程序的执行过程,使用结构图表示程序的内部状态 每章最后都给出了典型的练习题,让读者及时练习,巩固提高,并提供了参考答案 目录 第1篇 ...
对Java语言的每个语法都提供了一个或多个例程讲解 大量使用流程图表示程序的执行过程,使用结构图表示程序的内部状态 每章最后都给出了典型的练习题,让读者及时练习,巩固提高,并提供了参考答案 目录 第1篇 ...
删除缓存,可以传一个值 或多个 普通缓存获取 普通缓存放入 普通缓存放入并设置时间,time要大于0 如果time小于等于0 将设置无限期 递增,传参指定要增加几(大于0) 递减,传参指定要减少几(小于0) 设置hashSet,获取...
一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? ...
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 15、error和exception有什么区别? error 表示恢复不是...
从线程中返回数据和向线程传递数据类似。也可以通过类成员以及回调函数来返回数据。但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪
建 立一 个 "Java 开 发 中 心 ",在 新 竹 建 立 一 个 "Java语 言实 验 室 ", 以 掀起 台 湾 开 发 与 应 用 Java 语 言 的 热 潮 。 香 港 则 在 今 年 4月 就 举 行 了 全 岛 的 Java杯 比 赛 ,在 计 算 机界掀...
14.1.4 制作多个线程 14.1.5 Daemon线程 14.2 共享有限的资源 14.2.1 资源访问的错误方法 14.2.2 Java如何共享资源 14.2.3 回顾Java Beans 14.3 堵塞 14.3.1 为何会堵塞 14.3.2 死锁 14.4 优先级 14.4.1 线程组 ...
java 内存模型 ( java memory model ):根据Java Language Specification中的说明, jvm系统中存在一个主内存(Main Memory或Java Heap Memory),Java中所有对象成员变量都储存在主存中,对于所有线程都是共享的。...