java.awt.Point 翻译 un-doing 本身
java.awt.Point translate un-doing itself
我有以下代码 start
和 end
每个类型 java.awt.Point
.
start.translate(-1, 0);
end.translate(1, 0);
然而,当我 运行 这段带有 start = (0, 0) end = (0, 0)
的代码时,start
和 end
都变成了 (0, 0)
。为什么会这样,只有我一个人吗?
EDIT 更奇怪的是,当我查看第 2 行之前和第 1 行之后的坐标时,点 start
和 end
都在 (-1, 0)
;本质上,translate(int x, int y)
翻译了这两点!
发生这种情况的唯一方法是 start
和 end
变量指向完全相同的对象。因此,在点 (0,0) 在 x 坐标中平移 -1,然后再平移 +1,您将再次得到 (0,0)。检查创建 start
和 end
对象的代码。
我有以下代码 start
和 end
每个类型 java.awt.Point
.
start.translate(-1, 0);
end.translate(1, 0);
然而,当我 运行 这段带有 start = (0, 0) end = (0, 0)
的代码时,start
和 end
都变成了 (0, 0)
。为什么会这样,只有我一个人吗?
EDIT 更奇怪的是,当我查看第 2 行之前和第 1 行之后的坐标时,点 start
和 end
都在 (-1, 0)
;本质上,translate(int x, int y)
翻译了这两点!
发生这种情况的唯一方法是 start
和 end
变量指向完全相同的对象。因此,在点 (0,0) 在 x 坐标中平移 -1,然后再平移 +1,您将再次得到 (0,0)。检查创建 start
和 end
对象的代码。