Java中奇怪的不匹配数据类型

时间:2015-08-07 04:32:49

标签: java casting geometry

使用像Rectangles和Dimensions这样的几何图元时,构造函数只允许传入int,但getHeight和getWidth方法返回双精度。这导致我在代码中的所有位置转换为int,并且它开始看起来很难看。 你输入的整数与你输出的双打不匹配是什么?

2 个答案:

答案 0 :(得分:1)

Dimension实现接口Dimension2D,它应该是通用的宽度 - 高度尺寸,而不是像素值中的尺寸。一般来说,他们在Dimension2D上使用double,但对于Dimension和像素值中的维度,只有int才有意义。

不幸的是,覆盖一个方法不能改变它的返回类型,所以我们走了。

答案 1 :(得分:0)

设置值时,您仍然可以使用double。

    Rectangle rect = new Rectangle();
    rect.setRect(5.0, 5.0, 10.0, 10.0);

但它不是构造函数。