java map 多个值_java 一个函数EnumMap返回多个值

在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!!

网上这个问题的解决方法:

1、使用map返回值;这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过源代码来查看。

2、传入一个引用进去,修改引用的属性值。问题:不实用。

3、通过泛型构造一个类似python的tuple类,或者构造一个JavaBean,其问题都是“一次性”,觉的不优雅。

个人解决方案:

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

48304ba5e6f9fe08f3fa1abda7d326ab.png

package com.cy;

import java.util.EnumMap;

/**

* Created by on 2014/7/10.

*/

public interface TestService {

enum UserInfoProperty {

ROOM,CELLPHONE,Name

}

public EnumMap getUserInfoByName(String name);

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

这个类是实现

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class TestServiceImpl implements TestService {

@Override

public EnumMap getUserInfoByName(String name) {

EnumMap retMap = new EnumMap(UserInfoProperty.class);

retMap.put(UserInfoProperty.ROOM,"0003");

retMap.put(UserInfoProperty.CELLPHONE,"00004");

retMap.put(UserInfoProperty.Name,name);

return retMap;

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

这个类是main入口

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class App

{

public static void main( String[] args )

{

TestService testService = new TestServiceImpl();

String name = "testName";

EnumMap userInfo = testService.getUserInfoByName(name);

userInfo.entrySet().iterator();

System.out.println(userInfo.get(TestService.UserInfoProperty.Name));

System.out.println(userInfo.get(TestService.UserInfoProperty.ROOM));

System.out.println(userInfo.get(TestService.UserInfoProperty.CELLPHONE));

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python pandas 日期_python+pandas+时间、日期以及时间序列处理方法

pythonpandas时间、日期以及时间序列处理方法先简单的了解下日期和时间数据类型及工具 python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。 datetime以毫秒形式存储日期和时间,datetime.timedelta表…

java程序怎么都不是一个_java运行的流程-怎么运行java程序编了一个程序不知道怎么运行郁闷啊后缀文件名是 爱问知识人...

在初学java编程语言时,痛苦的事莫过于跟着示例一步步做,总是得不到想要的结果,这是很多初学者都会碰到的问题。下面详细教你运行第一个java应用程序(环境windows xp jdk 6。0):第一步:下载并安装JDK 6。0,…

调用别的方法的返回值_Spring boot如何实现异步调用

Spring boot如何实现异步调用异步调用:一个可以无需等待被调用函数的返回值就让操作继续进行的方法举个例子异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你就去做别的了。同步调用就是你 喊 你朋友吃饭 ,你朋…

java excel 创建按钮_通过单击Excel按钮在Catia中设计零件

我已经在用宏编辑器构建的Catia V5中编写了一些宏,但我无法弄清楚如何从Excel访问Catia命令 .我想知道如何通过仅在excel文件圆柱体的半径和长度中创建一个简单的直圆柱体 .我想在Catia中输入不同的压力容器,在Excel中输入它们的直径和高度,然…

pythonspot_python-Spotipy-列表索引超出范围

编写Spotipy脚本以从给定专辑返回专辑曲目,我偶尔会遇到错误:album_id results["albums"]["items"][0]["uri"]IndexError: list index out of range这种错误往往发生在更多的流行歌手遍历所有专辑的时候.我猜结果列表已达到极限或以…

国防科大JAVA工程师笔试题_国防科大人工智能考博题答案

【实例简介】国防科大计算机学院考博试题 人工智能11-15年试题答案A-20年33(注主:图21的日2该是想反3):61(35),610)①到日1①bs15②①9-519海:S→B>D>印k0b4763到句2(013-13e(as|0⊙(升早巧一③Cm52B877③1315④①a3s93(62833106舞决:5>B→>D>2或5A>C>D→…

python四舍五入保留小数点后三位_Python中的“正确”四舍五入到小数点后3位

我可能遗漏了一些重要的东西,但我无法找到一种方法来在Python(2.7)中将浮点/小数“适当”舍入,至少舍入到小数点后三位。我的意思是1.2225应该四舍五入到1.223,而1.2224应该四舍五入到1.222。在我知道在Python中,round不适用于flo…

java 指代对象_java-This的理解

都知道this是一个指代作用吧,但指代的是什么?一般网上搜索的this 都说是“当前对象”,但这样说和没说区别一个样,什么是“当前对象”都说不清楚。但其实,this指代得分下面4种情况来说。有的是场景展示的(如一、三)&…

python 日历查询系统_python 日历

上章总结了python中time模块的使用,这次总结日历模块 calendar>>> import calendar>>> cal calendar.month(2016,1)>>> calJanuary 2016\nMo Tu We Th Fr Sa Su\n 1 2 3\n 4 5 6 7 8 9 10\n11 12 13 14 15 16 17\n1…

在java语法中继承_java中的继承

一、继承:1.如果不使用继承,会出现以下一些问题:(1)代码重复(2)如果要修改的话,两个类都需要修改。2.继承体现的是一种is a 的关系。eg:Dog is a Pet;apple is a Fruit;Student is a Person;二、子类可以继承到父类的哪些财产呢&a…

照片识别出错_AI跨年龄人脸识别技术在跨年龄寻亲的应用简析

9月3日,央视财经《经济半小时》栏目播出了一段有关失踪儿童找回的视频新闻。在这则新闻中,跨年龄人脸识别技术是最为核心的功臣,深圳警方利用跨年龄人脸识别技术,根据一张3岁孩童的儿童照片找回了失踪了十几年的孩子,让…

python内置的数字运算函数_Python 内置函数1

abs(x)函数返回绝对值参数可以是&#xff1a;负数、正数、浮点数或者长整形print(abs(-1.2))# 结果1.2cmp(x, y)函数 (python3已删)中文说明&#xff1a;比较两个对象x和y&#xff0c;如果x < y ,返回负数&#xff1b;x y, 返回0&#xff1b;x > y,返回正数。版本&#…

java音频采样_音频重采样的坑

背景使用webrtc进行语音通话&#xff0c;网络正常的情况下&#xff0c;延迟比较大。进行过如下分析&#xff1a;(1)从socket收包到webrtc处理完音频没有耗时长的操作&#xff0c;排除了webrtc处理音频引入的延迟(2)与其他终端进行通话无延迟通过以上的分析&#xff0c;最终确认…

python stdout清空_python中stdout输出不缓存的设置方法

考虑以下python程序&#xff1a;#!/usr/bin/env pythonimport syssys.stdout.write("stdout1 ")sys.stderr.write("stderr1 ")sys.stdout.write("stdout2 ")sys.stderr.write("stderr2 ")其中的sys.stdout.write也可以换成print。运行…

分段线性判别法 java_线性判别分析(Linear Discriminant Analysis)(二)

4. 实例将3维空间上的球体样本点投影到二维上&#xff0c;W1相比W2能够获得更好的分离效果。PCA与LDA的降维对比&#xff1a;PCA选择样本点投影具有最大方差的方向&#xff0c;LDA选择分类性能最好的方向。LDA既然叫做线性判别分析&#xff0c;应该具有一定的预测功能&#xff…

软件测试用例_大话软件测试用例要素

我们经常都知道一个测试用例里面包含以下几个要素&#xff1a;1&#xff0c;用例编号2&#xff0c;模块3&#xff0c;场景4&#xff0c;用例名称5&#xff0c;前置条件6&#xff0c;测试等级7&#xff0c;操作步骤8&#xff0c;预期结果(需求要求的结果)9&#xff0c;实际结果1…

cario java_Cairo图形库 概述

参考&#xff1a;http://blog.sina.com.cn/s/blog_538732a70100p9ay.htmlCairo图形库 1. 概述欢迎来到Cairo图形教程.这个教程将教你Cairo2D矢量绘图库基本的和一些高级的主题.大部分例程我们使用GTK编程库. 这个教程是用C语言来完成的.(如果可能,我会附加上一些cairomm的东西…

python大神推荐_大神推荐!!!高评分书籍轻松带你入门Python

上次讲到了初学者阶段必看的书籍。今天给大家继续讲讲进阶者阶段当你对Python有了一定的了解&#xff0c;并在生活或者工作中使用过一段时间&#xff0c;那么你就可以考虑进阶相关的书籍&#xff0c;请看下面这3本&#xff1a;《Python深度学习》豆瓣评分&#xff1a;9.6推荐指…

java中this图解_JAVA-初步认识-第七章-this关键字的使用场景和原理图解

一.this有什么用&#xff1f;我们用例子的形式来体现一下。下面的截图说明&#xff0c;给人对象一初始化的时候&#xff0c;赋值个姓名。赋值姓名的时候&#xff0c;拿n赋值给name&#xff0c;DOS显示创建对象时&#xff0c;构造函数初始化成功。在例子中&#xff0c;我们将“旺…

python汉诺塔_汉诺塔递归算法/搬金盘的婆罗门 - Python实现

汉诺塔递归算法/搬金盘的婆罗门 - Python实现版权声明本文节选自作者本人的图书《Python编程基础及应用》&#xff0c;高等教育出版社。本文可以在互联网上自由转载&#xff0c;但必须&#xff1a;注明出处(作者&#xff1a;海洋饼干叔叔)并包含指向本页面的链接。本文不可以以…