我有Point class
(不是类中的构建)和我的构造函数之一:
public class Point
{
private int _x;
private int _y;
public Point(Point p)
{
_x = p._x;
_y = p._y;
}
}
在这种情况下,是否可以在我的构造函数中复制新的点成员,或者我需要做其他事情来避免别名? 复制字符串怎么样?
答案 0 :(得分:2)
是的,这很好。原始分配是直接的。但是,在分配对象引用时,您只需分配引用,因此您需要复制该字段的对象。
对于复制int
,double
和其他原语,这很好。此外,这也适用于String对象(但不保证任何其他对象),因为字符串不可变。
答案 1 :(得分:2)
复制它们就足够了,因为它们是值类型,将按值复制。 至于字符串,你也可以复制它,但这次是因为Java中的字符串是不可变的。 欢呼声。