Tôi đã viết đoạn mã sau:sánh với đôi loại
public class NewClass2 implements Comparator<Point>
{
public int compare(Point p1, Point p2)
{
return (int)(p1.getY() - p2.getY());
}
}
Nếu tôi giả sử có hai số gấp đôi, 3.2 - 3.1
, sự khác biệt nên 0.1
. Tuy nhiên, khi tôi truyền số này sang int, sự khác biệt kết thúc là 0
, điều này không chính xác.
Do đó, tôi cần compare()
để trả lại số tiền gấp đôi, không phải là số int. Vấn đề là, trường getX
của tôi là gấp đôi. Làm thế nào tôi có thể giải quyết vấn đề này?
Tôi nghĩ rằng điều này sẽ thất bại với 'NaN' và' * _INFINITY' – Jerome