Android переопределяет PointF, чтобы получить что-то близкое к Java Point2D.double - PullRequest
1 голос
/ 12 июля 2011

У меня есть метод Java, который возвращает Point2D.double, и ближайший класс Android к этому - PointF. Проблема в том, что PointF возвращает float вместо double . Есть ли способ переопределить PointF так, чтобы оно было двойным, а не плавающим?

1 Ответ

3 голосов
/ 12 июля 2011

Почему бы вам просто не преобразовать свои двойные числа в числа с плавающей точкой, а затем использовать PointF, вы можете сделать это с помощью простого приведения, если только вам не нужно сохранять данные как двойные для какой-либо другой цели, если в этом случае вы можете попытаться расширить класс PointF как показано ниже, это будет медленнее, чем просто использование 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;
}
}
...