java.awt.PointのOracleドキュメントでわかるように、xとyはとして格納されint
ます。しかし、getX
とgetY
返しますdouble
。setLocation
2つのdouble
型を取るメソッドがありますが、それを行うコンストラクターはありません。さらに、とにかく内部的にdouble
切り捨てられint
ます。
これには正当な理由がありますか?型setLocation
を受け取るメソッドを使用することでキャストオンを回避double
できますが、getX
and を呼び出すと反対の問題が発生しますgetY
。double
from getX
およびを返すことにより、Pointクラスの精度が正しく表現されていませんgetY
。
それはGraphics2D抽象クラスで使用されるjava.awt.geom.Point2Dから拡張されるためです。これは互換性の理由からこの方法で実装されました。これまでは、javaはすべてのメソッドがintベースのjava.awt.Graphicsのみをサポートしていたためです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加