從有效的Java書中,它指出「對象總是可以重用,如果它是不可變的」。所有不可變對象是否可重用?
String s = "shane";
String p = "shane";
此版本使用single String instance
,而不是創建每次執行一次新的 。此外,保證該對象將被 重複使用,在相同的虛擬機中運行的任何其他代碼恰好包含相同的字符串文字。
下面的最後一個類也是不可變的嗎?點對象是否可以重新使用?
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
類關聯,但不能與用戶定義的類關聯。
'不可變類==不可變對象' –
它*可以被重用,但只能保證字符串類。 – Blorgbeard