本文主要是介绍02-实现方法多值返回-pair与truple,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在实际的项目开发中,我们经常会遇到返回多个值,通常我们使用Map对象、自定义Class对象等方式封装返回结果。但是这种方式,需要定义大量中间类,影响代码的整体质量。
spring 为我们提供了pair 双值与 triple 三值返回对象。
1、pair
具备两个值的键值对,left、right
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version>
</dependency>
提供两种数据对象
ImmutablePair:
一个不可变的类,一旦创建,就不能更改其值,表示一个只读的键值对。其内部属性提供final申明。
MutablePair:
一个可变的类,可以在创建之后更改其值,表示一个可变的键值对。
以下是两种对象使用案例
public static void main(String[] args) {Pair<Integer, Integer> pair = Pair.of(1, 10); //同ImmutablePair.of(1, 10)System.out.println(pair.getLeft()); //1System.out.println(pair.getRight()); //10//pair.setValue(30); //报错:java.lang.UnsupportedOperationExceptionpair = MutablePair.of(1, 10);((MutablePair<Integer, Integer>) pair).setLeft(100);((MutablePair<Integer, Integer>) pair).setRight(200);System.out.println(pair.getLeft()); //100System.out.println(pair.getRight()); //200pair.setValue(200); }
2、triple
可以存储三个值,left、middle、right,使用方式与pair 类型。
同时也具备了 ImmutableTriple 与 MutableTriple 两种对象使用。
以下是使用案例
import org.apache.commons.lang3.tuple.Triple;public class TripleExample {public static void main(String[] args) {Triple<String, Integer, Boolean> triple = Triple.of("John", 25, true);System.out.println("Name: " + triple.getLeft()); // 输出"Name: John"System.out.println("Age: " + triple.getMiddle()); // 输出"Age: 25"System.out.println("IsMale: " + triple.getRight()); // 输出"IsMale: true"triple.setValue("Bob", 30, false);System.out.println("Name: " + triple.getLeft()); // 输出"Name: Bob"System.out.println("Age: " + triple.getMiddle()); // 输出"Age: 30"System.out.println("IsMale: " + triple.getRight()); // 输出"IsMale: false"}
}
这篇关于02-实现方法多值返回-pair与truple的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!