【发布时间】:2013-09-23 03:47:43
【问题描述】:
从一本有效的 Java 书籍中可以看出,“如果一个对象是不可变的,则它总是可以被重用”。
String s = "shane";
String p = "shane";
这个版本使用single String instance,而不是创建一个新的
每次执行时。此外,可以保证该对象将
由在同一虚拟机中运行的任何其他代码重用,该虚拟机恰好包含
相同的字符串文字。
下面的 final 类也是不可变的呢?点对象可以重复使用吗?
public final class Point {
private final int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() { return x; }
public int getY() { return y;
}
谁能给我一个上面immutable class的例子,它的对象/实例可以被重用吗?我只是对可重用性如何发生感到困惑?
我能够与String 和Integer 类相关联,但不能与用户定义的类相关。
【问题讨论】:
-
Immutable class == immutable Object -
它可以被重复使用,但这只是对字符串类的保证。
标签: java oop immutability value-objects