调用两次的内部方法,使用相同的最终对象

时间:2013-11-13 23:09:32

标签: java final

我在类中有一个方法,大致同时调用两个不同的对象。

public void doSomething(final int i)
{
    if(getId() == i)
    {
        System.out.println("outer "+i);

        Platform.runLater(new Runnable()
        {
            @Override
            public void run()
            {
                System.out.println("inner "+i);
            }
        }
    }
}

检查对象是否应根据其id执行某些操作。如果id是正确的,我使用Platform.runLater,因为我使用JavaFX做了一些事情。

问题是:当ID为1和2的对象应该执行某些操作时,输出如下:

outer 1
outer 2
inner 2
inner 2

为什么内部方法不使用正确的值但是以某种方式使用相同的值两次?

编辑:更正了内部方法

0 个答案:

没有答案