前言
上一节中已经介绍了commons lang中比较常见的几个util类,这节来介绍下lang提供的元组和变量
元组
首先看什么是元组
List<T>
T[]
Map<K,V>
Collection<T>
java当中所有的容器存储都是只能存储单一对象元素,如果想要存储多个就只能将元素类型采用数组,或者使用map一类的容易,在就是自己定义类对象进行存储
元组类型用于解决2个及以上元素的存储对象,很多commons里都提供元组类型,包括java自身也提供Entry这样的多对象存储元组
lang也提供了几个非常简便的元组
Pair
Pair是一个简单的2元对象存储类型,可以通过getLeft、getRight、getKey、getValue对它包含的两个元素进行操作
String key="v";
int value=1000;
Pair p = Pair.create(key,value);
p.getKey()
p.getValue()
p = Pair.of(key,value);
p.getLeft();
p.getRight();
Triple
如果觉着Pair还不够用,可以使用Triple,Triple可以包含3个不同类型的对象,
String key = "key";
Double middle = 0.01d;
Integer value = 1;
Triple t = Triple.of(key,middle,value);
Triple使用left,middle,right作为3个对象的获取。
变量、变体
lang的mutable存放的是一些基本类型的变量
mutable是针对基本类型,如Integer,String一类的对象,它们无法通过引用方式传递,无法直接修改其类型,这种情况下可以通过mutable进行弥补
void change(String s){
s = "new";
}
void print(){
String s = "begin";
change(s);
System.out.print(s);//不会修改
}
void change(MutableObject m){
s.setValue("new");
}
void print(){
MutableObject m = new MutableObject("begin");
change(m);
System.out.print(m.getValue());//为新的内容
}
下一节将介绍lang剩下的几个部分