gpt4 book ai didi

java - 为什么 java.awt.Point 提供设置和获取 double 值的方法,但将 x 和 y 存储为 int 值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:39 25 4
gpt4 key购买 nike

正如您在 java.awt.Point 的 Oracle 文档中看到的那样, x 和 y 存储为 int。但是,getXgetY 返回 double。虽然有一个 setLocation 方法接受 2 个 double 类型,但没有构造函数这样做。此外,无论如何,double 都会在内部被截断为 int

这有充分的理由吗?您可以通过使用采用 double 类型的方法来避免对 setLocation 进行强制转换,但是当您调用 getXgetY。通过从 getXgetY 返回 double,也存在对 Point 类精度的错误表述。

最佳答案

因为它继承自 Graphics2D 抽象类中使用的 java.awt.geom.Point2D。出于兼容性原因,它以这种方式实现,因为在此之前,java 仅支持所有方法都基于 int 的 java.awt.Graphics。

关于java - 为什么 java.awt.Point 提供设置和获取 double 值的方法,但将 x 和 y 存储为 int 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9569918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com