黑马程序员技术交流社区

标题: 泛型问题 [打印本页]

作者: 盛亚昆    时间: 2012-3-20 13:52
标题: 泛型问题
public boolean equals(object obj)//这里能用泛型吗???
{


}
作者: foxpeter    时间: 2012-3-20 13:56
如果是要重写Object类中的equals方法就不能用泛型 Object类中的equals方法就是用的Object作参数
作者: 丁佼    时间: 2012-3-20 14:10
可以使用泛型,比如public <T>boolean equals(T t){},在代码上是可以编译通过的,
但是这样写出来的equals方法只是你自己可以调用,和覆盖Object的equals方法在意义上是不同的,
这种写法的equals,在hashSet等类的默认情况下会被忽略掉,它们只会调用使用object作为参数的equals。
作者: 魏群    时间: 2012-3-20 14:22
使用泛型的话就是自己定义的方法了 就不是@Override了
建议重写父类的方法时在方法上加上注释
@Override
public boolean equals(Object obj){}
作者: OMG    时间: 2012-3-20 14:59
哥们,泛型可以定义在类上,也可以定义在方法上,主要看需求:
1,对于equals方法的复写,通常出现在具体的自定义类(如Student类的子类JavaStudent)中,此时泛型为 equals(Studetn<JavaStudent> jst);
2,泛型的由来:当对象类型有多种,需要为某一种或某几种类型特制的集合或类时,如果对泛型进行了指定,那么在把对象加人集合或者传入方法时,编译器会进行验证,类型不符合条件时,编译器提前警告,把问题解决在运行之前,提高工作的效率;泛型的指定,也免去了类型的强转动作,减小了工作量;
3,泛型是JDK1.5的新特性,该新特性的价值在于,使代码简单化,提高工作的效率;




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