Как описано в Почему java.awt.Point предоставляет методы для установки и получения значений типа double, но сохраняет значения x и y как int? В классе Java java.awt.Point нет метода get, который возвращаетint
.Тем не менее, вы можете получить доступ к x
и y
напрямую, оба типа int
.
С учетом сказанного, какое из 2 зол меньше?
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;
Я стараюсь придерживаться стандартной практики использования методов получения (методов доступа), когда это возможно, но в этом сценарии требуется приведение.Я могу избежать приведения, но я должен получить доступ к полям x
и y
напрямую.Предполагая, что внутренне getX
и getY
просто приводят int к double
, а затем я возвращаю его обратно к int
, это кажется неправильным.