关于方法的返回值,经常需要返回2个值或多个值的一个序列,比如数据表的一条记录,文件的一行内容等。除了使用数组Array、集合(List、Set、Map)这些容器类型之外,在Java中我们就必须创建一个Class来作为返回类型。
但是javatuples是一个很简单的lib,它没有什么华丽的功能,就是提供了支持返回多个元素的一些类。
当你纠结有没有必要创建一个少于7个属性的dto时候,就果断选择这个工具类吧
<dependency>
<groupId>org.javatuples</groupId>
<artifactId>javatuples</artifactId>
<version>1.2</version>
</dependency>
import com.alibaba.fastjson.JSONObject;
import org.javatuples.Quartet;
import org.javatuples.Triplet;
public class Test {
public static void main(String[] args) {
Triplet<String, Long, Integer> triplet = new Triplet<>("1", 2l, 3);
System.out.println(triplet.toString());
System.out.println(triplet.getValue0());
System.out.println(triplet.getValue1());
System.out.println(triplet.getValue2());
String tripletStr = JSONObject.toJSONString(triplet);
System.out.println(tripletStr);
Quartet<String, String, String, String> quartet = new Quartet<>("1", "2", "3", "4");
System.out.println(quartet.toString());
System.out.println(quartet.getValue0());
System.out.println(quartet.getValue1());
System.out.println(quartet.getValue2());
System.out.println(quartet.getValue3());
String quartetStr = JSONObject.toJSONString(quartet);
System.out.println(quartetStr);
}
}
[1, 2, 3]
1
2
3
{"size":3,"value0":"1","value1":2,"value2":3}
[1, 2, 3, 4]
1
2
3
4
{"size":4,"value0":"1","value1":"2","value2":"3","value3":"4"}