博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中如何实现一个函数返回多个值
阅读量:4572 次
发布时间:2019-06-08

本文共 913 字,大约阅读时间需要 3 分钟。

由于java中没有指针,不能像C++一样通过指针的方式实现一个函数返回多个值,因此在java中必须采用变通的方式解决,常用的方式有以下几种:

1、封装一个实体类,将要返回的值封装进去;

2、通过map或者数组的方式来返回多个值;

第一种方案不够优雅,而且每次要返回多个值时就去封装一个实体类,这样会导致实体类多到泛滥;

第二种方案必须采用实现方法和调用方法约定的Key或者下标,如果只是系统内部使用问题不大,但是如果与外部系统对接时,调用方不知道具体的Key值或者下标,只能通过文档或者查看代码,通用性不强;

使用EnumMap作为返回值类型,自己定义一个enum,将可能返回的属性名定义为enum取值即可。

使用示例:

1、定义enum值:

1 enum ExpertOpKey {2     eokAdd,3     eokDel4 }

2、实现能返回多个值的方法:

1 private static EnumMap
testFunc() {2 EnumMap
map = new EnumMap
(ExpertOpKey.class);3 map.put(ExpertOpKey.eokAdd, "hello, world");4 map.put(ExpertOpKey.eokDel, 193);5 6 return map;7 }

3、调用方法获取多个返回值:

1 public static void main(String[] args) {2     EnumMap
map = testFunc();3 System.out.println(map.get(ExpertOpKey.eokAdd));4 System.out.println(map.get(ExpertOpKey.eokDel));5 }

 

转载于:https://www.cnblogs.com/laoxia/p/10876728.html

你可能感兴趣的文章
【漏洞复现】永恒之蓝 ms17-010 漏洞利用 攻击手法
查看>>
HTML标签(二)
查看>>
在weblogic下运行Python脚本
查看>>
短信开发技术总结--协议篇
查看>>
HashMap实现原理分析
查看>>
私有类方法
查看>>
java网络编程Socket通信详解
查看>>
为什么使用Nosql:Nosql和SQL的区别
查看>>
<转>DNS服务系列之二:DNS区域传送漏洞的安全案例
查看>>
LINUX中常用操作命令
查看>>
【android】动画效果研究(View)【1】
查看>>
(三)常用的数学函数
查看>>
生产信息集成分析平台(MIIAS V1.0) 概述
查看>>
学习进度——第十五周
查看>>
iOS开发UI篇—从代码的逐步优化看MVC
查看>>
简谈-网络爬虫的几种常见类型
查看>>
File对象目录列表器
查看>>
(K)ubuntu上将分区格式化成NTFS格式
查看>>
uva 12003 Array Transformer (大规模阵列)
查看>>
mysql5.7二进制包安装方式
查看>>