问题描述
源代码如下:代码在CMD下能完美运行。。可是在Eclipse却报错!importjava.util.*;publicclassTreeSetText{/***@paramargs*/publicstaticvoidmain(String[]args){//TODO自动生成的方法存根TreeSetP=newTreeSet(newMycompare());P.add(newHuman("张三",28));P.add(newHuman("张三",29));P.add(newHuman("张三6",28));P.add(newHuman("王五一",28));P.add(newHuman("古丹2",28));for(IteratorR=P.iterator();R.hasNext();){System.out.println(R.next());}}}classHuman{privateStringname;privateintage;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}Human(Stringname,intage){this.name=name;this.age=age;}publicStringtoString(){returnname+age;}publicinthashCode(){returnname.hashCode()+age*23;}publicbooleanequals(Objectj){if(!(jinstanceofHuman)){returnfalse;}HumanP=(Human)j;returnthis.getName().equals(P.getName())&&this.getAge()==P.getAge();}}classMycompareimplementsComparator{publicintcompare(ObjectP1,ObjectP2){Humans1=(Human)P1;Humans2=(Human)P2;intnum=s1.getAge()-s2.getAge();if(num==0){returns1.getName().compareTo(s2.getName());}returnnum;}}在Ecplise上报错有2个一个是Exceptioninthread"main"java.lang.Error:无法解析的编译问题:构造函数TreeSet(Mycompare)未定义atTreeSetText.main(TreeSetText.java:9)第二个是Comparator是无法解析类型接口。。我调用了util.*怎么还是无法解析呢?有人说这是你环境变量设置有问题。。可是该怎么设置环境变量啊jdk我装的是8.0运行其他程序都没有问题就是这个有问题。。我是下载完Eclipse直接解压缩,然后运行的。。难道还需要别的设置吗?
解决方案
解决方案二:
点Window-->Preference参考上图,看看你的jre。
解决方案三:
程序没有问题,我刚在eclipse下试过了,你在项目名称--右键--BulidPath,看下jar包的配置情况。
解决方案四:
这个你把jre导进去抛出异常就可以了