黑马程序员技术交流社区

标题: 不能淡定了。。找了好久都找不到错哪儿了。 [打印本页]

作者: 黑马老兵    时间: 2012-4-13 14:56
标题: 不能淡定了。。找了好久都找不到错哪儿了。
import java.util.*;
class  Generic6
{
public static void sop(Object obj)
{
  System.out.println(obj);
}
public static void main(String[] args)  
{
  TreeSet<Student> a1 = new TreeSet<Student>(new Comp());
  a1.add(new Student("abc2"));
  a1.add(new Student("abc3"));
  a1.add(new Student("adc8"));
  a1.add(new Student("abc5"));
  
  printoo(a1);

  /*TreeSet<Integer> a2 = new TreeSet<Integer>();
  a2.add(1);
  a2.add(6);
  a2.add(8);
  a2.add(3);*/
  
  //printoo(a2);

  System.out.println("Hello World!");
}

public static void printoo(TreeSet< Student> a)
{
  Iterator<Student> it = a.iterator();
  while(it.hasNext())
  {
   sop(it.next());
  }
}
}
class Comp implements Comparator<Persion>//为什么String不能编译通过?
{
public int compare(Persion s1, Persion s2)
{
  return s1.getName().compareTo(s2.getName());
}
}
class Persion
{
private String name;
//private int age ;
Persion(String name){//, int age
  this.name = name;
  //this.age = age;
}
public void setName(String name){

  this.name = name;
}
public String getName(){
  
  return name;
}
public String toString(){

  return "name"+name;
}
}
class Student extends Persion
{
Student (String name){

  super(name);
}
}
class Worker extends Persion
{
Worker (String name){

  Super(name);
}
}
提示是这句有错但没发现错哪儿了。。还能运行,但结果不正确。。

作者: 薛飞飞    时间: 2012-4-13 15:02
class Worker extends Persion{
        Worker (String name){       
          super(name);---------->super首字母要小写,你大写了当然不行,改一下就可以了        }
}
作者: 翟友伟    时间: 2012-4-13 15:09
建议楼主用集成 的工具
这些 语法问题 小错误 直接自动提示你的会
作者: 李敏    时间: 2012-4-13 15:22

1. super 写错了。
2.TreeSet 集合定义比较器的时候使用泛型,直接查API就知道了。
            TreeSet(Collection<? extends E> c)
            比较器的类型必须是 你集合添加的对象类型或其子类类型。 String 跟Student 没得关系。

作者: 黑马老兵    时间: 2012-4-13 15:49
lf820820 发表于 2012-4-13 15:37
将super 写正确

哎。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2