A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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);
}
}
提示是这句有错但没发现错哪儿了。。还能运行,但结果不正确。。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

4 个回复

倒序浏览
class Worker extends Persion{
        Worker (String name){       
          super(name);---------->super首字母要小写,你大写了当然不行,改一下就可以了        }
}

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
建议楼主用集成 的工具
这些 语法问题 小错误 直接自动提示你的会
回复 使用道具 举报

1. super 写错了。
2.TreeSet 集合定义比较器的时候使用泛型,直接查API就知道了。
            TreeSet(Collection<? extends E> c)
            比较器的类型必须是 你集合添加的对象类型或其子类类型。 String 跟Student 没得关系。
回复 使用道具 举报
lf820820 发表于 2012-4-13 15:37
将super 写正确

哎。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马