黑马程序员技术交流社区

标题: 关于map集合的问题,求甚解! [打印本页]

作者: 熊亮    时间: 2013-9-17 20:41
标题: 关于map集合的问题,求甚解!
本帖最后由 熊亮 于 2013-9-17 20:59 编辑
  1. <span style="line-height: 1.5;">package 集合框架;</span>
复制代码
老毕第16天的map练习,运行没问题,但是为什么在myeclipse里面显示有error呢?
  
错误提示是:1、The type Student must implement the inherited abstract method Comparable<Student>.compareTo(Student)
                    2、s.name cannot be resolved or is not a field



作者: 胡智    时间: 2013-9-17 20:48
泛型的问题。
因为你已经定义了实现的comparable接口里面只能接受Student类型的对象。
而你在复写compareTo方法的时候,传入的是String类型的值
再说你String类型的S里面也没有name这个属性啊
作者: 狼人→浪人    时间: 2013-9-17 20:49
本帖最后由 狼人→浪人 于 2013-9-17 20:52 编辑

问题一、student类必须实现抽象类里面的抽象方法compareTo(Student) 。
问题二、student类的name"不能解决或者不是一个字段",所以把"s.name"更改为“s.getName()”使用封装获取属性的方法解决。

作者: 熊亮    时间: 2013-9-17 20:57
胡智 发表于 2013-9-17 20:48
泛型的问题。
因为你已经定义了实现的comparable接口里面只能接受Student类型的对象。
而你在复写compareTo ...

没想到是泛型的笔误,回复够迅速的,拜谢了。Student s 写成 String  s 了  ,尴尬{:soso__10721991317771545052_1:}

作者: 369833818    时间: 2013-9-17 20:57
需要给对象定义一个获取name的方法
public String getName(){
   return name;
}
作者: 熊亮    时间: 2013-9-17 20:58
这几天代码敲多了,眼睛都花了{:soso_e134:},莫怪啊{:soso_e112:}




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