黑马程序员技术交流社区
标题:
java api传值时的(Object obj)这里的Object可以更换吗
[打印本页]
作者:
郭孟涛
时间:
2013-2-18 03:47
标题:
java api传值时的(Object obj)这里的Object可以更换吗
本帖最后由 郭孟涛 于 2013-2-18 13:32 编辑
public int compareTo(Object obj)
{
return 1;
}
复制代码
Object这里可以直接更换为传来的类名?
比如我修改为以下格式:
public int compareTo(Demo de)
{
return 1;
}
复制代码
作者:
谢波
时间:
2013-2-18 08:13
如果实现compareTo方法的类带泛型的话可以
作者:
冯佩
时间:
2013-2-18 09:32
不认同楼上的观点,我测试了一下,因为compareTo()是接口Comparable中的方法,而Comparable是一个带泛型的接口,实现Comparable的类加泛型,程序会报错,因为此时限定的是compareTo()方法,而不是该方法的参数。所以一定要让Comparable接口加上泛型才可以实现更换传来的类名。
作者:
张晋瑜
时间:
2013-2-18 11:28
本帖最后由 zhangjinyu1991 于 2013-2-18 11:33 编辑
你看哈:
public interface Comparable<T> {
public int compareTo(T o);
}
这就是这个接口在jdk中的定义,
所以要看你在继承Comparable接口时是否用了泛型,是否对泛型具体化了
作者:
陈科宇
时间:
2013-2-18 13:57
package com.keyee.test.heima;
class Demo
{
}
/*
* 朋友,Comparable接口是支持泛型的。只要你在实现该接口时指定泛型的类型时即可。
*/
public class CompareTest implements Comparable<Demo>{
@Override
public int compareTo(Demo o) {
// TODO Auto-generated method stub
return 0;
}
}
希望我的回复对你有帮助。
作者:
寇弘禄
时间:
2013-2-18 22:57
如果将compareTo(Object obj)改为compareTo(Demo de) 则表示你重载了compareTo方法,也就是此类中有两个compareTo方法,
一个是参数为Object类的,一个是参数为Demo类的,两个方法表示的意义不一样。
我觉得是这样,如有不对请指教。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2