java 一个函数如何返回多个值 参考方法: 1、使用map返回值;这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过源代码来查看。 2、传入一个引用进去,修改引用的属性值。问题:不实用。 3、通过泛型构造一个类似python的tuple类,或者构造一个JavaBean,其问题都是“一次性”。 比较好的方法: 接口: package com.etc.utils; import java.util.EnumMap; public interface TestService { enum UserInfoProperty{ ROOM,CELLPHONE,Name } public EnumMap<UserInfoProperty,Object> getUserInfoByName(String name); } 实现类: package com.etc.jichu; import java.util.EnumMap; import com.etc.utils.TestService; public class TestServiceImpl implements TestService { public EnumMap<UserInfoProperty, Object> getUserInfoByName(String name) { EnumMap<UserInfoProperty, Object> retMap=new EnumMap<UserInfoProperty, Object>(UserInfoProperty.class); retMap.put(UserInfoProperty.ROOM, "009"); retMap.put(UserInfoProperty.CELLPHONE,"00009"); retMap.put(UserInfoProperty.Name, name); return retMap; } } 测试类: package com.etc.jichu; import java.util.EnumMap; import com.etc.utils.TestService; public class App { public static void main(String[] args) { TestServiceImpl 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.CELLPHONE)); System.out.println(userInfo.get(TestService.UserInfoProperty.ROOM)); } }
时间: 2024-10-02 10:35:34