JTuple 1.1.0 正式版发布,让 Java 支持元组数据类型

来源: 投稿
作者: 愚_者
2017-06-14 09:25:00

JTuple 1.1.0 正式版发布了,本次更新内容:

1. 调整Tuple1-Tuple4获取元素的方式,更人性化
2. 新增支持将元组转换成Stream
3. 新增Tuple5
4. 完善代码注释以及使用文档

JTuple

Java 语言版本的元组数据类型,实现了元组类型的特性(不可变、 可迭代)以及常用操作方法

轻量级,无依赖,线程安全

元组的意义

元组最重要的意义是用来实现多值返现。 很多时候我们需要返回一组值,更可怕的是这组值的类型可能并不完全一样,比如http请求时,有请求的返回码(int)以及响应报文(String)

对于java人员来说,遇到这种情况时,一般的解决方案是编写一个类,类里只有2个属性,分别是以上2个,然后返回给调用者。是不是有种胸闷的感觉。折腾,造孽啊

或者就返回一个列表,但是因为类型不统一,只能用List<Object>,后续处理的代码的可读性会很差,我相信任何一个技术水平过关或者有职业操守的程序员都不会这么做

元组的出现,就是为了解决这种情况的,很多年轻的语言(PythonScala...)都内置了元组,本项目就是让Java开发人员也可以享受到元组带来的编程时的便捷和快乐

主要实现

类名 描述
Tuple 元组抽象,实现元组数据结构以及常用操作方法
Tuple0 空元组,不包含任何元素
Tuple1 只包含1个元素的元组
Tuple2 只包含2个元素的元组
Tuple3 只包含3个元素的元组
Tuple4 只包含4个元素的元组
Tuple5 只包含5个元素的元组
TupleN 包含N个元素的元组

元组操作

操作API 说明
add 元组合并
foreach 元组迭代
forEachWithIndex 元组带序号迭代
swap 元组翻转
toArray 元组转成数组
toList 元组转成列表
get 获取元组某一个元素
contains 元组中是否包含某个元素
subTuple 截取子元组
equals 比较2个元组内容是否相同
toString 输出字符串表示的元组,如: (123, 456)
repeat 重复元组内的所有元素
stream 将元组转换成流,类似List.stream
parallelStream 将元组转换成并行流,类似List.parallelStream
展开阅读全文
精彩评论

引用来自“游客”的评论

还不如定义一个对象方便呢
java大量的pojo类,大量的getter setter,太繁琐了,如果pojo里的属性多于5个,写成pojo,也许心里还好过些。但是比如只为了2个属性,写一整套模板代码,太冗长,啰嗦了,而且项目里如果这种情况很多,那项目代码里会出现大量的“小”pojo类,实在是不好看。这也是很多新兴语言吐槽java的一个点
2017-06-14 11:24
5
举报

引用来自“swiftplus”的评论

@红薯 这个东西怎么上的头条,走的后门?
这种损人不利己的话,有意思吗?
你看不起我的东西没关系,你可以选择无视,有必要这样吗?
you can you up, no can no bb!
2017-06-15 16:27
1
举报

引用来自“洛阳码农”的评论

模仿c#吗?
谈不上模仿,很多语言都有元组,不止是C#,而java没有,我只是用Java语言实现了,元组的概念在各个语言里都是基本一样的。在现代的开发中,这本应该是开发语言直接提供的
2017-06-14 15:12
1
举报
37 收藏
分享
54 评论
37 收藏
分享
返回顶部
顶部