但是,包装器类表示原始类型,并且原始类型(String除外)是可变的。
首先,String不是原始类型。
其次,谈论原始类型是可变的没有意义。如果您像这样更改 变量 的值:
int x = 5;x = 6;
那不是在更改数字5,而是在更改的值
x。
在我看来,尽管包装器类型本来可以变得可变,但这样做却很烦人。我经常使用这些类型的只读集合,并且不希望它们是可更改的。偶尔我想要一个可变的等效项,但是在那种情况下,提出一个或使用这些
Atomic*类就足够了。
我发现自己希望这样做,
Date并且
Calendar变得不可变的频率要比我希望
Integer自己变得可变的要多得多(当然,我通常会去找Joda
Time,但是Joda Time的好处之一 就是 不变性。)



