gpt4 book ai didi

java - Rectangle 和 Rectangle2D 的区别

转载 作者:太空狗 更新时间:2023-10-29 22:55:11 25 4
gpt4 key购买 nike

目前,我使用 Rectangle 和 Rectangle2D (Rectangle2D.Double) 互换。

我想知道在选择正确的数据类型时我应该考虑什么?除了 Rectangle(Rectangle2D 的子类)有更多的 API 函数外,我没有看到任何明显的区别。

谢谢。

最佳答案

矩形使用 int 坐标。Rectangle2D 是一个抽象类,它不关心您使用的是 int、double 还是 float 坐标。

如果您需要 double 和 float 的更高精度,则必须使用 Rectangle2D。

Rectangle2D 是基类,因此如果您正在编写以抽象方式对矩形形状进行操作的代码,请选择 Rectangle2D,并像这样分配它:

Rectangle2D rect = new Rectangle2D.Double(double, double, double, double);

Rectangle2D rect = new Rectangle(int, int, int, int)

如果你知道你只会处理整数,你可以一直使用 Rectangle。

您可能会说 Rectangle 应该称为 Rectangle2D.Integer。但这也不完全是,因为例如Rectangle 是三个实现可序列化接口(interface)的唯一一个。

就像 skaffman 评论的那样,这是一个遗留问题。

关于java - Rectangle 和 Rectangle2D 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2214456/

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