Tôi đang tạo TreeMap<String, String>
và muốn đặt hàng theo kiểu giảm dần. Tôi tạo ra sự so sánh sau:Máy so sánh <String> phải ghi đè lên phương thức siêu hạng
Comparator<String> descender = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
};
tôi xây dựng TreeMap như vậy:
myMap = new TreeMap<String, String>(descender);
Tuy nhiên, tôi nhận được lỗi sau:
The method compare(String, String) of type new Comparator<String>(){} must override a superclass method
Tôi đã không bao giờ đầy đủ groked generics, tôi đang làm gì sai?
Theo như tôi thấy, không có gì. Lỗi sẽ được gây ra nếu phương thức so sánh của bạn không khớp với chữ ký của phương thức compare() của Comparator, nhưng điều đó dường như không phải là trường hợp như tôi thấy. – fwielstra