java commons库之一:lang(2)元组和变量

来源:互联网 发布:mac口红lady bug试色 编辑:程序博客网 时间:2024/06/10 05:58

前言
上一节中已经介绍了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剩下的几个部分