我在start
类型end
和java.awt.Point
中都有以下代码。
start.translate(-1, 0);
end.translate(1, 0);
但是,当我使用start = (0, 0) end = (0, 0)
运行此代码时,start
和end
均为(0, 0)
。为什么会这样,只有我吗?
编辑更奇怪的是,当我查看第2行之前和第1行之后的坐标时,start
和end
点都在(-1, 0)
;基本上,translate(int x, int y)
翻译了两个点!
答案 0 :(得分:2)
唯一可能发生的方法是start
和end
变量指向完全相同的对象。因此,在点(0,0)在x坐标中转换为-1,然后再转换为+1之后,再次得到(0,0)。检查创建start
和end
对象的代码。