首先,我为我的英语感到抱歉。这不是我的主要语言。

class Car {
    private Integer x;

    public Car(){
        this.x = new Integer(5);
    }

    public Integer getInt(){
        return this.x;
    }

    public static void main(String[] args) {
        Car car = new Car();
        Integer x = car.getInt();
        // Here is what annoying me. I want to change the value of car.x only with getInt()
        x += 4;
        system.out.println(""+car.x);
        //This will print 5, when i want it to print 6.
    }
}

这只是一个概念。我需要以这种方式为我的项目更改整数的值。
这似乎是不可能的,但我可能会错过一些东西。

我的意思是,如果我能做这样的事情会很有帮助:
Integer x = car.getInt();
x.setValue(9);

这就是使用Java的问题。
我喜欢 Java,但在 C++ 中,我可以在任何地方使用指针。

如果你想知道为什么我需要使用这个方法,那是因为我有这两个功能:
private Rectangle2D.Double rect;
private Vector3D position;
rect.x 应该与 position.x 具有相同的值。
然后,每次我调整这些值之一时,我都必须同时更改它们。
这些函数中的每一个都用于不同的方法。
我使用矩形进行渲染,并使用位置来计算..

非常感谢你!

最佳答案

在 Java 中 Integer 类是 immutable ,因此您永远无法更改其实例之一的值。就像设计那样,可以安全地共享相同 Integer 的许多实例。

关于java - 整数不像真正的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17904330/

10-10 05:33
查看更多