ImmutablePair和ImmutableTriple的使用
场景
当我们调用某个方法,需要有超过一个值的返回时,我们通常会怎么做,比如现在需要调用方法返回姓名和年龄两个属性(假如姓名为张三,年龄为12)。
- 方式一:使用Map,将Map中分别放入name为key,张三为value;age为key,12为value。
- 缺点是需要定义key值,且书写语法比较繁琐。
- 优点是定义明确。
- 方式二:直接定义一个Person对象,定义name和age两个属性。
- 缺点是比较繁琐,这个Person对象可能整个项目中只被使用这一次。
- 优点是定义非常明确,不容易产生歧义。
新的方法
下面介绍一种新的方法,当我们方法调用返回值大于一个属性,且就仅有这一次调用,不存在复用和共用问题时,可以采用如下方式:
package objectDemo; import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.ImmutableTriple; public class Demo { public static void main(String[] args) {
ImmutablePair<String, Integer> person = ImmutablePair.of("张三", 12);
System.out.println(person); ImmutableTriple<String, Integer, String> personInfo = ImmutableTriple.of("李四", 20, "上海");
System.out.println(personInfo);
}
}
输出结果为:
(张三,12)
(李四,20,上海)
ImmutablePair和ImmutableTriple的使用的更多相关文章
- 梳理commons-lang工具包
目录 概述 builder包 NumberUtils 转换 String 类型为原始类型 截取小数位数 创建包装类型 最大值 | 最小值 关于数字的检查 mutable包 relect包 Constr ...
- Flink 1.1 – ResourceManager
Flink resource manager的作用如图, FlinkResourceManager /** * * <h1>Worker allocation steps</h1 ...
- Java元组类型之javatuples
转载:Java元组类型之javatuples 关于方法的返回值,经常需要返回2个值或多个值的一个序列,比如数据表的一条记录,文件的一行内容等.除了使用数组Array.集合(List.Set.Map)这 ...
- 使用sftp操作文件并添加事务管理
本文主要针对文件操作的事务管理,即写文件和删除文件并且能保证事务的一致性,可与数据库联合使用,比如需要在服务器存文件,相应的记录存放在数据库,那么数据库的记录和服务器的文件数一定是要一一对应的,该部分 ...
- TCC细读 - 1 例子流程
http://www.iocoder.cn/categories/TCC-Transaction/ https://github.com/changmingxie/tcc-transaction 细读 ...
- Flink - Scheduler
Job资源分配的过程, 在submitJob中,会生成ExecutionGraph 最终调用到, executionGraph.scheduleForExecution(scheduler) 接着,E ...
- 009-java中常用的单个键值对
1.Java 6提供AbstractMap.SimpleEntry<K,V>和AbstractMap.SimpleImmutableEntry<K,V> Map.Entry&l ...
- Jakarta Commons Cookbook
Cookbook就是工具书,应该是前年看的,在中关村看的影印版,全英文,本书主要讲解了一下模块: Core:BeanUtils,Lang,Collections,logging Db:DbUtil ...
- java使用ffmpeg生成HLS切片文件
/*** * 将文件切割成片 * @param filename * @param uuid * @param data * @throws IOException */ default void d ...
- Java-WebSocket调用报错:WebSocketClient objects are not reuseable
我的代码 import com.google.common.collect.ImmutableMap; import com.google.common.io.ByteArrayDataOutput; ...
随机推荐
- Jmeter学习:常用内置函数
常用函数一: 常用函数二: __counter 功能介绍: 生成一个计数器变量,每次使用的时候+1 __counter(false,gseq)表示所有线程共用,所有线程及迭代共享计数. __coun ...
- 使用layui+jQuery实现点击删除单行数据
使用layui+jQuery实现点击删除单行数据 首先要用到layui的官网手册 地址:https://www.layui.com/ 注意1. 此功能是在使用layui展示数据的基础上实现 3. ...
- ES实战-trying to create too many buckets
场景 es查询报错,报错如下: trying to create too many buckets. must be less than or equal to: [10000] but was [1 ...
- python 提取文件的名字 和路径
# coding=utf-8 import sys import os s = 'C:/Users/Desktop/lesson/python/calss1.py' m_dir = os.path.d ...
- 浏览器是如何区分http和https协议的
浏览器的默认解析 我们在浏览器的地址栏中输入一个域名 taobao.com(不要按回车), 然后将地址栏进行复制,粘贴到文本文件后,发现是 http://taobao.com/. 这是浏览器的默认解析 ...
- Visio中的图无失真导入LaTeX中
参考网址: LaTeX导入图片不失帧的方法_奋斗的西瓜瓜的博客-CSDN博客_latex图片模糊 LaTeX中插入eps格式图片_不觉岁华成暗度的博客-CSDN博客_eps latex Visio图片 ...
- 【Hive 元数据和真实数据-TAB_COL_STATS记录错误问题】
MySql的元数据以及HDFS上数据的关系 元数据在DBS和TBLS上 (SD_ID) 1 首先通过hive创建一个表table_test 在hdfs的存储路径会生成相应的表 TBLS 也会更新内容进 ...
- 【Java学习Day11】变量种类及命名规范
变量 变量是什么:就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName [=valu ...
- 【SHELL】记一个没啥用的脚本
因为最近Terraria更新了嘛,然后又想开服了,但是捏,我原来的UbuntuServer系统因为没有界面,而且我新购置了一台3D打印机,需要软件界面去操作,所以原先的系统就格了,重装win10,然后 ...
- CUDA kernel使用printf调试,一定要加cudaDeviceSynchronize
#include <stdio.h> __global__ void print() { printf("Hello from (%d, %d)\n", blockId ...