滴丶学生卡
2015-02-10 03:09
采纳率: 55.6%
浏览 1.8k
已采纳

java中<T>的使用的疑问,以下代码有哪些区别呢,求大神们指教啊。

public T deleteObject(T entity){
hibernateTemplate.delete(entity);
return entity;
}

public Object deleteObject(Object entity){
    hibernateTemplate.delete(entity);
    return entity;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2015-02-10 03:15
    已采纳

    这两种写法实现的功能一样,但是使用泛型的好处是,你返回的是具体的类型。不需要类型转换,就可以直接访问对象的成员。
    同时确保传入传出参数的类型一致。

    点赞 评论
  • 4InGoodmusic_listen 2015-02-26 10:35

    使用泛型的方法,在获得返回值时,会获得一个T类型的值,比如传入Person实例,那么获得返回值也是Person类型。
    但是如果用Object的,那么首先,需要对返回值进行强转,如 (Person)deleteObject(person1);其次,编译器也不能帮助你检查,是否代码有类型转换的问题。

    点赞 评论

相关推荐 更多相似问题