Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么java.awt.Point提供了设置和获取double的方法,但将x和y存储为int';s_Java_Awt_Precision_Point - Fatal编程技术网

为什么java.awt.Point提供了设置和获取double的方法,但将x和y存储为int';s

为什么java.awt.Point提供了设置和获取double的方法,但将x和y存储为int';s,java,awt,precision,point,Java,Awt,Precision,Point,正如您在的Oracle文档中所看到的,x和y存储为int。但是,getX和getY返回double。虽然有一个setLocation方法接受2个double类型,但没有构造函数这样做。此外,double在内部被截断为int 有什么好的理由吗?通过使用一个接受double类型的方法,您可以避免对setLocation进行强制转换,但是当您调用getX和getY时,会遇到相反的问题。通过从getX和getY返回一个double,还存在对Point类精度的错误表述,因为它扩展自Graphics2D抽象

正如您在的Oracle文档中所看到的,x和y存储为
int
。但是,
getX
getY
返回
double
。虽然有一个
setLocation
方法接受2个
double
类型,但没有构造函数这样做。此外,
double
在内部被截断为
int


有什么好的理由吗?通过使用一个接受
double
类型的方法,您可以避免对
setLocation
进行强制转换,但是当您调用
getX
getY
时,会遇到相反的问题。通过从
getX
getY
返回一个
double
,还存在对Point类精度的错误表述,因为它扩展自Graphics2D抽象类中使用的java.awt.geom.Point2D。出于兼容性原因,它是以这种方式实现的,因为在此之前,java只支持java.awt.Graphics,其中所有方法都是基于int的