Class泛型问题

buyue__ 2012-10-11 12:05:59
package com.helloweenvsfei.forum.dao;

import java.util.List;

import org.hibernate.Query;

public interface IDao<T> {

public T find(Class<T> clazz, int id);

public void create(T baseBean);

public void save(T baseBean);

public void delete(T baseBean);

public List<T> list(String hql);

public int getTotalCount(String hql, Object... params);

public List<T> list(String hql, int firstResult, int maxSize,
Object... params);

public Query createQuery(String hql);
}

接口第一个方法中的public T find(Class<T> clazz, int id);的T和Class<T>有什么区别?为什么下面其他的方法的参数列表的类型是T,而第一个方法的参数类型是Class<T>?
...全文
624 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huaye 2012-10-12
  • 打赏
  • 举报
回复
public T find(Class<T> clazz, int id);
根据类来反射生成一个实例,而单独用T没法做到。
huaye 2012-10-11
  • 打赏
  • 举报
回复
T 类型
Class<T> clazz 代表获取这个类型的类
buyue__ 2012-10-11
  • 打赏
  • 举报
回复
不明白。。可以说简单易懂点吗?
apple147147 2012-10-11
  • 打赏
  • 举报
回复
只是类型而已
wangzi9521 2012-10-11
  • 打赏
  • 举报
回复
学习一下,获取这个类型的类。
oO临时工Oo 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

T 类型
Class<T> clazz 代表获取这个类型的类
[/Quote]

是这样的

你把T换成String 再研究一下,注意换位思考

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧