मैं जावा में एक तुलनित्र वर्ग मानचित्र प्रविष्टियों तुलना करने के लिए है:जावा डाली अनियंत्रित
warning: [unchecked] unchecked cast
found : java.lang.Object
required: java.util.Map.Entry<java.lang.Integer,java.lang.Double>
m1 = (Map.Entry<Integer, Double>)o1;
मैं नक्शे पर प्रविष्टियों को क्रमबद्ध करने की जरूरत है:
public class ScoreComp implements Comparator<Object> {
public int compare(Object o1, Object o2) {
Entry<Integer, Double> m1 = null;
Entry<Integer, Double> m2 = null;
try {
m1 = (Map.Entry<Integer, Double>)o1;
m2 = (Map.Entry<Integer, Double>)o2;
} catch (ClassCastException ex){
ex.printStackTrace();
}
Double x = m1.getValue();
Double y = m2.getValue();
if (x < y)
return -1;
else if (x == y)
return 0;
else
return 1;
}
}
जब मैं इस कार्यक्रम को संकलित मैं निम्नलिखित मिल डबल मानों के आधार पर।
यदि मैं निम्नलिखित तुलनित्र बनाता हूं तो मुझे Arrays के फ़ंक्शन को सॉर्ट करने के लिए कॉल में एक त्रुटि मिलती है (मुझे मानचित्र से एक प्रविष्टि सेट मिल रहा है और फिर सेट को सरणी के रूप में उपयोग कर रहा है)।
public class ScoreComp implements Comparator<Map.Entry<Integer, Double>>
इस परिदृश्य को कैसे कार्यान्वित करें।
क्या आप एक सरणी के रूप में सेट का उपयोग मतलब है: इसके बजाय, आप एक
List
औरCollections.sort()
विधि का उपयोग कर सकते हैं? – pgrasस्टेकर के उत्तर के नीचे टिप्पणी देखें –
इसमें अपवादों के साथ कुछ भी नहीं है; मैंने गलती के लिए खेद है कि –