मैं ऐसा कुछ करने का प्रयास कर रहा हूं जो अपेक्षाकृत सरल लगता है: सेट की सूची के आकारों को आकार दें।जावा एक ArrayList <TreeSet <Integer>> सूची <Set<Object>> में कनवर्ट क्यों नहीं कर सकता है?
actual argument java.util.ArrayList<java.util.TreeSet<java.lang.Integer>> cannot be converted to java.util.List<java.util.Set<java.lang.Object>> by method invocation conversion
कोड की निम्न दो टुकड़े के लिए
:
ArrayList<TreeSet<Integer>> testList = new ArrayList<TreeSet<Integer>>();
TreeSet<Integer> testSet;
int size = 0;
testSet = new TreeSet<Integer>();
testSet.add(new Integer(++size));
testSet.add(new Integer(++size));
testList.add(testSet);
testSet = new TreeSet<Integer>();
testSet.add(new Integer(++size));
testList.add(testSet);
int expResult = size;
int result = Helpers.sizeOfListOfSets(testList);
अंतिम पंक्ति देता है:
/**
* Sums the sizes of all sets in a list. Note that while there will be
* no duplicate elements in a single set, "sister" sets may contain
* elements, so the value returned is **not** equal to the number of unique
* elements in all sets.
* @param list, a List of Sets
* @return the number of elements contained in all sets
*/
public static int sizeOfListOfSets(List<Set<Object>> list) {
int size = 0;
for (Set<Object> set : list) {
size += set.size();
}
return size;
}
और फिर पालन करते हुए उसे बुला NetBeans निम्न चेतावनी/त्रुटि देता है संकलन त्रुटि:
error: method sizeOfListOfSets in class Helpers cannot be applied to given types;
1 error
तो, java.lang.Integer क्यों java.lang.Object में परिवर्तित नहीं किया जा सकता है?
उचित प्रश्न का शीर्षक है, "क्यों जावा एक' सूची> 'में एक' ArrayList > 'परिवर्तित नहीं कर सकते?" –