问题
有时候我们调用方法的时候返回值有可能不止1个,比如说我们返回name = "张三" age = 20这两个值,那么这个时候方法的返回值怎么写呢。在Scala和python中都有Tuple使用,在java中我们怎么办。很容易我们就想到了一个方式:可以构造一个User类来封装这两个属性。
但是如果返回的两个值并没有任何关联关系,或者说每一个方法返回的参数都不同,那么我们就得为每一个方法的返回类型去创建对应的类来取包装,或许还有其他的解决方式,比如说返回一个map,返回一个List,返回一个array都可以。
使用map作为返回值的话调用方在不清楚map中具体有什么内容的时候需要去遍历keySet或entrySet,而list和array也是同样的问题,不知道哪一个参数存放在哪里。
解决方式
其实前人已经为我们解决了这个问题。
如果你经常使用apache的commons-lang3包来处理String的null判断,那么你依旧可以从这个包中找到我们想要的一个所谓的元组。
org.apache.commons.lang3.tuple.Pair
这个类构建了一个由两个元素组成的一个元组,left和right两个元素。
继承了Map.Entry,可以使用getKey()和getValue()方法,从源码中我们也发现其实是调用了他本身的getLeft()和getRight()方法,而这两个方法是需要子类去实现,我们后面说。
继承了Comparable,可以比较两个Pair。
继承了Serializable,可以被序列化。
分享到:
相关推荐
赠送jar包:commons-lang3-3.12.0.jar; 赠送原API文档:commons-lang3-3.12.0-javadoc.jar; 赠送源代码:commons-lang3-3.12.0-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.12.0.pom; 包含翻译后的API...
赠送jar包:commons-lang3-3.9.jar; 赠送原API文档:commons-lang3-3.9-javadoc.jar; 赠送源代码:commons-lang3-3.9-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.9.pom; 包含翻译后的API文档:...
赠送jar包:commons-lang3-3.4.jar; 赠送原API文档:commons-lang3-3.4-javadoc.jar; 赠送源代码:commons-lang3-3.4-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.4.pom; 包含翻译后的API文档:...
赠送jar包:commons-lang3-3.12.0.jar; 赠送原API文档:commons-lang3-3.12.0-javadoc.jar; 赠送源代码:commons-lang3-3.12.0-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.12.0.pom; 包含翻译后的API...
commons-lang-2.6.jar包commons-lang-2.6.jar包commons-lang-2.6.jar包commons-lang-2.6.jar包commons-lang-2.6.jar包加源码
赠送jar包:commons-lang3-3.7.jar; 赠送原API文档:commons-lang3-3.7-javadoc.jar; 赠送源代码:commons-lang3-3.7-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.7.pom; 包含翻译后的API文档:...
apatch commons-lang3 资源包,包含commons-lang3-3.8.1.jar包等资源
赠送jar包:commons-lang3-3.3.2.jar; 赠送原API文档:commons-lang3-3.3.2-javadoc.jar; 赠送源代码:commons-lang3-3.3.2-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.3.2.pom; 包含翻译后的API文档...
开发工具 commons-lang3-3.4开发工具 commons-lang3-3.4开发工具 commons-lang3-3.4开发工具 commons-lang3-3.4开发工具 commons-lang3-3.4开发工具 commons-lang3-3.4开发工具 commons-lang3-3.4开发工具 commons-...
赠送jar包:commons-lang3-3.5.jar; 赠送原API文档:commons-lang3-3.5-javadoc.jar; 赠送源代码:commons-lang3-3.5-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.5.pom; 包含翻译后的API文档:...
赠送jar包:commons-lang3-3.10.jar; 赠送原API文档:commons-lang3-3.10-javadoc.jar; 赠送源代码:commons-lang3-3.10-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.10.pom; 包含翻译后的API文档:...
赠送jar包:commons-lang3-3.10.jar; 赠送原API文档:commons-lang3-3.10-javadoc.jar; 赠送源代码:commons-lang3-3.10-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.10.pom; 包含翻译后的API文档:...
commons-lang.jar是日常编程中必不可少的一个jar包,在日常java编程中,经常会使用到commons-lang.jar包,还没有准备commons-lang.jar包的用户可以前来下载使用,这里为大家提供了commons-lang3-3.1.jar
java 开发工具commons-lang3-3.4 jar包,有org.apache.commons.lang3.StringUtils; org.apache.commons.lang3.reflect.FieldUtils;等类
各种版本的,里面包括 commons-lang-1.0-b1.jar commons-lang-1.0.1.jar commons-lang-2.0.jar commons-lang-2.1-javadoc.jar commons-lang-2.1-sources.jar commons-lang-2.1.jar ...commons-lang3-3.1.jar
赠送jar包:commons-lang-2.4.jar; 赠送原API文档:commons-lang-2.4-javadoc.jar; 赠送源代码:commons-lang-2.4-sources.jar; 赠送Maven依赖信息文件:commons-lang-2.4.pom; 包含翻译后的API文档:commons-...
jar包大小:239KB commons-lang-2.3.jar jar包大小:237KB commons-lang-2.2.jar jar包大小:202KB commons-lang-2.1.jar jar包大小:165KB commons-lang-2.0.jar jar包大小:278KB commons-jxpath-1.2.jar jar包大小:129...
本资源包含 commons-lang3-3.7.jar 和 commons-lang-2.6.jar,适用不同版本
commons-lang3-3.12.0 jar包 包括README.md
赠送jar包:commons-lang3-3.7.jar; 赠送原API文档:commons-lang3-3.7-javadoc.jar; 赠送源代码:commons-lang3-3.7-sources.jar; 赠送Maven依赖信息文件:commons-lang3-3.7.pom; 包含翻译后的API文档:...