Como puede ver en la Documentación de Oracle para java.awt.Point, xey se almacenan como int
. Sin embargo, getX
y getY
devuelven double
. Si bien hay un método setLocation
que toma 2 tipos double
, no hay ningún constructor que lo haga. Además, el double
se truncará a un int
internamente de todos modos.¿Por qué java.awt.Point proporciona métodos para establecer y obtener dobles, pero almacena xey como int?
¿Hay una buena razón para esto? Puede evitar un reparto en setLocation
al tener un método que toma los tipos double
, pero tiene el problema opuesto cuando llama a getX
y getY
. También hay una tergiversación de la precisión de la clase Point al devolver double
de getX
y getY
.