经常有这样的操作,在一个方法体里返回多个不同类型的对象,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使用实例
本文介绍如何在Java中利用commons-lang3库的元组特性返回多个不同类型的数据对象。通过具体的例子展示了二元组和三元组的用法,并解释了如何通过getLeft(), getMiddle(), getRight()等方法来获取元组中的数据。
3547

被折叠的 条评论
为什么被折叠?



