警告是:The constructor Integer(int) is deprecated since version 9,我想问问这个该怎么改

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构建包啦

不需要修改,这个只是警告而已