我有以下java类,但我已经尝试了,我无法弄清楚如何正确编码以避免eclipse中的警告:
for (int i = 1; i < ar.length; i++) {
System.out.println(i);
}
警告1是:我无法弄清楚如何摆脱eclipse中的警告&#34; LinkedList是一种原始类型。对泛型类型LinkedList的引用应该参数化&#34;
警告2是&#34;类型安全:未检查的调用排序(List,new Comparator(){})类型集合&#34;
的通用方法排序(List,Comparator)任何帮助将不胜感激!
答案 0 :(得分:2)
List<Map.Entry<String, String>> list = new LinkedList<Map.Entry<String, String>>(
myh.entrySet());
// in Java 7, you can just write new LinkedList<>(myh.entrySet())
// note that this is a List<Entry<String, String>>, not a List<String> as in the OP
Collections.sort(list, new Comparator<Map.Entry<String, String>>() {
public int compare(
Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
答案 1 :(得分:0)
删除原始类型;使用Entry<String,String>
和菱形运算符(用于警告1)。像,
List<Entry<String, String>> list = new LinkedList<>(myh.entrySet());
然后将sort
来电更改为比较Entry
(s)。像,
Collections.sort(list, new Comparator<Entry<String, String>>() {
public int compare(Entry<String, String> o1,
Entry<String, String> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});