一、前言
1、数据的8种基本类型的包装类
Integer、Boolean、Float、Double等都是不可变的,它的value的类型是一个final类型。
这导致我们对他们进行变化的时候都会重新new一个新的对象。
2、在Common-lang中提供了一种可变的包装类型,接口为Mutable
二、测试代码
package com.yezi.learn.commons.lang;
import org.apache.commons.lang.mutable.MutableInt;
/**
* Created by yezi on 2014/6/2.
*/
public class MutableTest {
public static void main(String args[]){
MutableTest mutableTest = new MutableTest();
mutableTest.testFinalInteger();
mutableTest.testMutable();
Integer integer = new Integer(1);
mutableTest.testFinalInteger(integer);
System.out.println(integer+"=========");
}
public void testFinalInteger(){
Integer integer1 = new Integer(1);
Integer integer2 = new Integer(1);
System.out.println(integer1.hashCode());
System.out.println(integer2.hashCode());
System.out.println(integer1==integer2);
integer2 = 1;
System.out.println(integer1==integer2);
}
public void testFinalInteger(Integer integer){
integer++;
}
public void testMutable(){
MutableInt mutableInt = new MutableInt(1);
mutableInt.decrement();
System.out.println(mutableInt);
}
}