说我有一个不可变的DecimalNumber
类:
public final class DecimalNumber { public final String str; public DecimalNumber(String str) { this.str = str; } public DecimalNumber(DecimalNumber copy) { this(copy.str); } public boolean isZero() {...} public DecimalNumber add(DecimalNumber other) {...} ... }
我决定这样实施add
:
public DecimalNumber add(DecimalNumber other) { if (other.isZero()) return /* the same object */ ... }
我应该返回this
(减少内存使用)还是复制对象new DecimalNumber(this)
?
我认为简单地返回this
应该没问题,但是创建一个新对象是有益还是有理由?或者它是否是首选?