如中所述为什么java.awt.Point提供了设置和获取doubles的方法,却将x和y存储为int';sJava类Java.awt.Point没有返回CCD_ 1的get方法。但是,您可以直接访问x
和y
,这两种类型都是int
。
话虽如此,两害相权取其轻?
Point location = this.getLocation();
int locX = (int)location.getX();
int locY = (int)location.getY();
或
Point location = this.getLocation();
int locX = location.x;
int locY = location.y;
我尽量保持尽可能使用getter(访问器方法)的标准做法,但在这种情况下,它需要强制转换。我可以避免强制转换,但必须直接访问字段x
和y
。假设内部getX
和getY
只是将int强制转换为double
,然后我将其强制转换回int
0,这感觉是错误的。
直接访问方法的效率略高,看起来更好。从技术上讲,如果存在get/set方法,那么避免它们是不好的做法,但在这种情况下,我认为你应该破例。