import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetDemo2 {
public static void main(String[] args) {
TreeSet<String> ts=new TreeSet();
ts.add("a");
ts.add("sfsd");
ts.add("fgdfd");
ts.add("aaa");
ts.add("bcd");
Iterator<String> it=ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class StringLengthCompare implements Comparator<Object>
{
public int compare(Object o1,Object o2)
{
String s1=(String) o1;
String s2=(String) o2;
int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));
if(num==0)
return s1.compareTo(s2);
return num;
}
}
出现在int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));这一行
警告已经很清楚啦,从jdk 1.9开始不建议使用Integer(int)构造包装类,你进到源码看一下推荐用什么方式创建,应该会有说明的。
Integer.parseInt(str)
替代
官方推荐使用ValueOf方法来构建包。
例如:
把Integer obj = new Integer(1024);
改为Integer obj = Integer.valueOf(1024);
从jdk1.9开始就不建议用Integer构建包啦
不需要修改,这个只是警告而已