java tuple(元组)
很经常我们希望方法的return能够返回多个对象,可是遗憾的是java只能有一个返回值(类型),为了实现这个功能我们可能会去编写一个特别的类,让它能够携带多的返回值,这样的概念称之为 元组(Tuple) 也称为 数据传输对象、信使。
为了实现这个元组,我们编写了如下的代码。
1 | public class DataSet{ |
OK,上面的 DataSet 确实解决了我们的当务之急,但是总感觉很不合理,确实。如果我们要的不仅仅是String 类型的多个返回值的?
很好,你想到了泛型,没错。就是用泛型去解决这种问题。
1 | public class TupleTwo<A,B>{ |
如上,TupleTwo 这是个通常的javaBean,很好的处理属性类型的多态性,但我们有更好的编写方式:
1 | public class TupleTwo<A,B>{ |
我们将a和b声明为final且是公开的属性,这样它就只能被一次赋值而不能被再次修改,而恰好,return语句也就仅仅是携带数据返回而已,不需要对携带体有更多的修改。
为了能兼容更多的数据,我们可以通过继承来实现这样的操作,当你想携带几个就使用特定的tuple。
1 |
|
然后通过一个工具类来调用它们
1 | public class Tuple { |