矩形和矩形二维的区别

2024-01-13

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

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

Thanks.


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

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

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

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

or

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

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

你可能会说 Rectangle 应该被称为 Rectangle2D.Integer。但这也不完全是这样,因为例如矩形是三个中唯一实现可序列化接口的之一。

就像斯卡夫曼评论的那样,这是一个遗留问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

矩形和矩形二维的区别 的相关文章

随机推荐