您的位置:首页 > 大数据 > 人工智能

commons-lang3之元组返回多个数据对象

2017-10-28 13:42 246 查看
经常有这样的操作,在一个方法体里返回多个不同类型的对象,Java的return只能返回一个数据对象。为了方便,为了节省时间,为了装x,也不要自己写一个类型封装了,使用commons-lang3所提供的元组来容装多个数据对象并返回。

Example:

public class Lang3Demo {

private static List<User> userList = Lists.newArrayList();

static {
User user = new User();
user.setId(123);
user.setName("jack");
User user1 = new User();
user1.setId(124);
user1.setName("tom");
userList = Lists.newArrayList(user, user1);
}

public Pair<Integer, List<User>> returnDataByPair() {
return new ImmutablePair<>(42, userList);
}

Triple<String, Integer, List<User>> returnDataByTriple() {
return new ImmutableTriple<>("userList", 42, userList);
}

@Test
public void testTuple() {
// 二元组
Pair<Integer, List<User>> integerListPair = returnDataByPair();
System.out.println(integerListPair.getLeft() + ": " + integerListPair.getRight());

// 三元组
Triple<String, Integer, List<User>> uTriple = returnDataByTriple();
System.out.println(uTriple.getLeft() + " -> " + uTriple.getMiddle() + ": " + uTriple.getRight());
}
}


Output:

42: [User{id=123, type=’null’, name=’jack’, date=’null’, money=null, isOk=null}, User{id=124, type=’null’, name=’tom’, date=’null’, money=null, isOk=null}]

userList -> 42: [User{id=123, type=’null’, name=’jack’, date=’null’, money=null, isOk=null}, User{id=124, type=’null’, name=’tom’, date=’null’, money=null, isOk=null}]

通过元组的
getLeft()
getMiddle()
getRight()
去获取里面盛放的不同类型的对象,其乐而不为呢!

参考:

Java元组Tuple使用实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐