Java 为什么它不在列表中编译负数

Java 为什么它不在列表中编译负数,java,list,set,Java,List,Set,它不断给我带来一个非法性质的错误。重新安排 将列表中的元素按升序排序,并从列表中删除所有重复的值 import java.util.*; public class Excerice_11point5{ public static void main (String [] args){ Set<Integer> tal = new TreeSet<Integer>(); tal.add(7); tal.add

它不断给我带来一个非法性质的错误。重新安排 将列表中的元素按升序排序,并从列表中删除所有重复的值

    import java.util.*;

public class Excerice_11point5{
    public static void main (String [] args){
        Set<Integer> tal = new TreeSet<Integer>();
        tal.add(7);
        tal.add(4);
        tal.add(–9);
        tal.add(4);
        tal.add(15);
        tal.add(8);
        tal.add(27);
        tal.add(7);
        tal.add(11);
        tal.add(–5);
        tal.add(32);
        tal.add(–9);
        tal.add(–9);

        sortAndRemoveDuplicates(tal);

    }
    public static void sortAndRemoveDuplicates(Set<Integer> tal){
        System.out.println(tal);
    }   
}
import java.util.*;
公共课超额分数第5点{
公共静态void main(字符串[]args){
Set tal=新树集();
总计.添加(7);
总计.添加(4);
总计增加(–9);
总计.添加(4);
总计.添加(15);
总计.添加(8);
总计增加(27);
总计.添加(7);
总计.添加(11);
总计增加(–5);
总计增加(32);
总计增加(–9);
总计增加(–9);
SortandRemovedDuplicates(tal);
}
公共静态无效排序和删除的副本(集合tal){
系统输出打印项次(tal);
}   
}

您确定负号(-)是一个简单的破折号吗?您是否从Word文档或Excel电子表格中复制/粘贴了此内容,并复制了一个看起来像标准连字符但不是的符号


您可以使用检查文件中的内容,但最简单的方法可能是重新键入破折号。

在编写Java代码时,不要使用
-
,而要使用普通的
-
。差别是微妙的。您使用的
endash
字符看起来几乎相同,但实际上不同


当文字处理器通过
-
-

自动替换
-
时,通常会发生这种情况,这非常简单。您使用的不是
-
操作,而是奇怪的符号
-
来代替它。

顺便说一句,如果您已经在使用一个集合,那么就不用担心重复的值。我们将通过称它为em破折号来纠正您,但我看到en破折号实际上存在。今天我学到了一些新东西,谢谢!