我有一个返回 Point2D.double
的 java 方法,Android 最接近它的类是 PointF
。问题是 PointF
返回 float 而不是 double。有没有办法重写 PointF
使其成为 double 而不是 float ?
最佳答案
为什么不直接将 double 转换为 float 然后使用 PointF,您可以通过简单的强制转换来实现,除非出于其他目的需要将数据保持为 double ,如果是这种情况,您可以尝试扩展 PointF 类如下所示,由于将 double 转换为 float 等,它会比仅使用 PointF 慢,但只要您不经常调用它就可以了!
public class pointD extends PointF{
public double x;
public double y;
public pointD(double x, double y){
this.set((float) x,(float) y);
this.x = x;
this.y = y;
}
public double Length(){
double l = (double)this.length();
return l;
}
public final void set(double x, double y){
this.set((float) x,(float) y);
this.x = x;
this.y = y;
}
}
关于java - Android 覆盖 PointF 以获得接近 java Point2D.double 的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6656768/