Tôi có thể so sánh Strings fine, nhưng muốn biết làm thế nào tôi có thể xếp hạng số dấu chấm động?Giúp so sánh các biến thành viên float bằng cách sử dụng Comparators
getChange() trả về một chuỗi. Tôi muốn có thể sắp xếp giảm dần. Tôi có thể làm cái này như thế nào?
UPDATE:
package org.stocktwits.helper;
import java.util.Comparator;
import org.stocktwits.model.Quote;
public class ChangeComparator implements Comparator<Quote>
{
public int compare(Quote o1, Quote o2) {
float change1 = Float.valueOf(o1.getChange());
float change2 = Float.valueOf(o2.getChange());
if (change1 < change2) return -1;
if (change1 == change2) return 0; // Fails on NaN however, not sure what you want
if (change2 > change2) return 1;
}
}
Tôi nhận được lỗi thời gian biên dịch:
This method must return a result of type int ChangeComparator.java
Bên cạnh những vấn đề NaN, bạn không có câu lệnh return được bảo đảm trong mã của bạn. Thực tế bạn làm, nhưng trình biên dịch không thể nói rằng bởi vì bạn có ba câu lệnh if khác nhau. Nó không thể đánh giá chúng cho đến khi chạy, vì vậy nó nghĩ rằng bạn thực sự có thể vượt qua câu lệnh if cuối cùng và không có mệnh đề trả về. – Matt