java 一个函数如何返回多个值
2014-07-10 13:32
274 查看
在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!!
2、传入一个引用进去,修改引用的属性值。问题:不实用。
3、通过泛型构造一个类似python的tuple类,或者构造一个JavaBean,其问题都是“一次性”,觉的不优雅。
这个类是实现
这个类是main入口
网上这个问题的解决方法:
1、使用map返回值;这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过源代码来查看。2、传入一个引用进去,修改引用的属性值。问题:不实用。
3、通过泛型构造一个类似python的tuple类,或者构造一个JavaBean,其问题都是“一次性”,觉的不优雅。
个人解决方案:
使用EnumMap作为返回值类型,自己定义一个enum,将可能返回的属性名定义为enum取值即可。package com.cy; import java.util.EnumMap; /** * Created by on 2014/7/10. */ public interface TestService { enum UserInfoProperty { ROOM,CELLPHONE,Name } public EnumMap<UserInfoProperty,Object> getUserInfoByName(String name); }
这个类是实现
public class TestServiceImpl implements TestService { @Override public EnumMap<UserInfoProperty, Object> getUserInfoByName(String name) { EnumMap<UserInfoProperty,Object> retMap = new EnumMap<UserInfoProperty, Object>(UserInfoProperty.class); retMap.put(UserInfoProperty.ROOM,"0003"); retMap.put(UserInfoProperty.CELLPHONE,"00004"); retMap.put(UserInfoProperty.Name,name); return retMap; } }
这个类是main入口
public class App { public static void main( String[] args ) { TestService testService = new TestServiceImpl(); String name = "testName"; EnumMap<TestService.UserInfoProperty,Object> 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)); } }
相关文章推荐
- java 一个函数如何返回多个值
- C#中如何让一个函数返回多个值
- C#中如何让一个函数返回多个
- 【经典算法】:如何在一个函数里面返回多个值的实现
- 如何让一个函数返回多个值(C#)
- [转]如何快速定位一个函数的返回点 - 调试技巧
- 如何开发一个java开源框架-----Jvn框架之实现参数传递跟信息返回(第二讲)
- java中如何定义一个泛型函数?
- C++对象模型之编译器如何处理函数返回一个对象
- java 一个函数EnumMap返回多个值
- 如何快速定位一个函数的返回点(c/c++ Only)
- C#--如何在一个函数中返回两个值(包含数组的参数)
- Java里如何实现一个方法在不同情况下“返回”不同的类型变量?
- 如何让一个函数返回多个值(C#)
- 如何让一个函数返回多个值
- ctrl+左键点击一个函数名,跳转到另一个文件,如何返回原位置?
- 如何使一个函数或方法同时返回多个不同类型的值
- 如何让一个函数返回多个值(C#)
- java 一个函数EnumMap返回多个值
- C语言如何实现一个函数返回另一个函数