`

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

    博客分类:
  • 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 的调用:


 

 

python 学习笔记见附件

 

 

 

  • 大小: 11.5 KB
  • 大小: 7.5 KB
  • 大小: 63.4 KB
  • 大小: 103.6 KB
分享到:
评论

相关推荐

    java 返回多个值的问题

    由于某些项目需要知道一个函数处理中需要返回函数的处理状态,同时 也想知道函数处理的数据,这是我们就需要...那么怎么解决返回多个参数值呢? 解决方式就是用HashMap来保存返回的结果.这样就可以解决多个返回值的问题

    Java后台获取JSP页面多个复选框选中的值

    在Java后台获取JSP页面多个复选框选中的值是一个常见的需求,特别是在开发Web应用程序时。SSM(Spring、SpringMVC、MyBatis)框架是Java Web开发中广泛使用的集成框架,它提供了处理此类问题的高效解决方案。下面将...

    java实现从方法返回多个值功能示例

    如果我们需要从方法中返回多个值,该如何实现呢?本文将为大家介绍三种实现 Java 方法返回多个值的方法,分别是使用集合类、封装对象和引用传递。 方法1:使用集合类 使用集合类是最简单的方法之一,我们可以使用 ...

    java计算同一个list中是否有相同的值

    ### Java 计算同一 List 中是否有相同值 在 Java 编程中,判断一个 `List` 中是否存在重复元素是一项常见的需求。特别是在数据处理、验证或分析等场景中,确保数据的唯一性对于维持数据完整性至关重要。 #### 核心...

    java 调用存储过程返回单个值

    假设我们有一个名为`userManage`的存储过程,它接受多个输入参数并返回一个整数值。这个存储过程可能定义如下: ```sql CREATE PROCEDURE userManage ( OUT return_value INT, IN p_userName VARCHAR(50), -- ...

    java读取PI数据库测点值.docx

    在 Java 中,需要使用 pitm_intsec 方法来处理时间,该方法需要两个参数,第一个参数是一个 int 型数组(指针),第二个参数是一个 int 型数组。 在 Java 中使用 JNative 时,需要将 API 里的除字符串外的指针类型...

    Java中的Comparator 对多个排序条件的处理

    这篇博客文章"Java中的Comparator 对多个排序条件的处理"可能详细讨论了如何实现这一目标。 首先,`Comparator`的基本用法是实现其`compare()`方法。例如,如果我们有一个`Person`类,包含`firstName`和`lastName`...

    java调用存储过程同时返回值和多个table

    java调用存储过程,支持获取return值,output返回值,以及查询的表数据,表数据允许有多个查询结果集

    Java小程序求最大值

    一个Java程序通常由一个或多个类(class)组成,每个类包含方法(method)和变量(variable)。在这个特定的情况下,我们可以创建一个名为`MaxValueCalculator`的类,其中包含一个名为`findMax`的方法,该方法接收三...

    求出java中int数组的 cv值

    请注意,如果数组有多个众数,`getMode()`只会返回其中的一个。 在实际应用中,你需要将数组`array`替换为用户输入的int数组。在给定的项目中,可能会有一个读取用户输入或从文件加载数据的机制。此外,为了使项目...

    java读取excel文件生成矩阵

    如果每个对象有多个属性值,可以先将所有对象的属性值存储在一个Map或List中,然后根据需要的属性组合生成矩阵。例如,如果有用户对象包含名字(name)、年龄(age)和城市(city)属性,可以先遍历Excel文件构建用户对象...

    java 字符串中文判断

    这个方法会检查给定的`char`值是否在中文字符的Unicode范围内,如果是,则返回`true`,否则返回`false`。 接下来,我们来看如何计算字符串中中文字符的数量。这可以通过遍历字符串并调用上面的`isChinese`方法实现...

    JList多选值的获取

    这种模式适用于那些只需要用户从多个选项中选择一项的情况。 - 设置方法:`list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);` - 常量值:`0` 2. **连续多选模式 (SINGLE_INTERVAL_SELECTION)**:...

    Java实现SNMP获得OId值

    - 在接收到的响应中检查是否存在更多数据,如果有,则更新OID并再次发送GETNEXT请求。 - 当遍历结束时,响应中将不再有新的OID,此时结束循环。 #### 总结 通过以上分析,我们可以看到Java结合`Snmp4j`库在实现...

    java 简单的网络聊天程序 服务器连接多个客户端

    在这个场景中,我们讨论的是一个简单的网络聊天程序,它包含了一个服务器端(Server.java)和多个客户端(Client.java)。这样的程序通常基于TCP协议,因为TCP提供了一种可靠的数据传输方式,适合用于聊天应用。 ...

    JAVA中汉字字符转化为英文字符

    本文介绍了如何在Java中实现汉字到英文字符的转换,重点分析了两个核心方法的实现原理。这种转换技术不仅在技术层面具有一定的挑战性,而且在实际应用中也有着广泛的应用前景。通过对这些知识点的理解和掌握,开发者...

    用三个线程分别计算平均值,最大值,最小值Java

    在Java编程中,多线程是一种常见的技术,用于同时执行多个任务,提高程序的执行效率。本示例中,我们探讨的是如何利用三个线程分别计算一个数组中的平均值、最大值和最小值。这样的设计可以充分利用多核处理器的并行...

    JavaCompiler --JDK6 API的简介(java动态编译)

    * JavaCompiler 的 run 方法可以传入多个 Java 源代码文件,以便同时编译多个文件。 除了使用 JavaCompiler 接口之外,我们还可以使用 StandardJavaFileManager 来编译 Java 源代码。StandardJavaFileManager 是 ...

    java实现mqtt的发送和订阅

    在实际应用中,你可能需要根据业务需求进行更复杂的逻辑处理,例如处理多个主题的订阅、实现更复杂的消息过滤规则等。 最后,关于Spring框架的集成,Spring提供了一个名为`spring-mqtt`的模块,可以帮助你更方便地...

Global site tag (gtag.js) - Google Analytics