使用基元变量进行别名

时间:2013-11-24 13:05:12

标签: java

我有Point class(不是类中的构建)和我的构造函数之一:

public class Point
{
    private int _x;
    private int _y;

    public Point(Point p)
    {
        _x = p._x;
        _y = p._y;
    }
}

在这种情况下,是否可以在我的构造函数中复制新的点成员,或者我需要做其他事情来避免别名? 复制字符串怎么样?

2 个答案:

答案 0 :(得分:2)

是的,这很好。原始分配是直接的。但是,在分配对象引用时,您只需分配引用,因此您需要复制该字段的对象。

对于复制intdouble和其他原语,这很好。此外,这也适用于String对象(但不保证任何其他对象),因为字符串不可变

答案 1 :(得分:2)

复制它们就足够了,因为它们是值类型,将按值复制。 至于字符串,你也可以复制它,但这次是因为Java中的字符串是不可变的。 欢呼声。