不太明白T和?号的使用,T应该是指Type市类型.?应该是通配符可以代表所有是吗?问题1:什么时候该用T 什么时候该用?呢 重点: 麻烦求解;问题2:我在接口中定义了?的使用.然后实现 下面是代码: public List<?> add();//这里应该用T还是应该用? List<这里放对象,对象不能用T来表示吧?我这里放?合适吗> 实现的话public List<A> add()//A是对象;
//T应该怎么定义? 在什么时候定义? 怎么去继承使用呢? 麻烦求解;
//T应该怎么定义? 在什么时候定义? 怎么去继承使用呢? 麻烦求解;
public void save(T entity); public T findById(Class<T> clazz, K entityId); public void update(T entity); public void delete(T entity); public List<T> findAll(String hql);
}public class BaseDaoImpl<T extends Serializable,K extends Serializable> implements BaseDao<T, K> {
@PersistenceContext
protected EntityManager em;
/**
* 刪除
*/
public void delete(T entity) {
em.remove(entity);
}
/**
* 根据ID查询
*/
public T findById(Class<T> clazz,K entityId) {
return em.find(clazz, entityId);
}
/**
* 保存
*/
public void save(T entity) {
em.persist(entity);
}
/**
* 修改
*/
public void update(T entity) {
em.merge(entity);
} /**
* 查询所有
*/
@SuppressWarnings("unchecked")
public List<T> findAll(String hql) {
return em.createQuery(hql).getResultList();
}}
public class BaseDaoImpl <T extends Serializable,K extends Serializable> implements BaseDao <T, K> {
什么情况下该用T呢? 什么情况下该用?呢?
不明白,你添加方法干吗返回List 泛型?List<T> T是object类型。什么类型都可以。A实体当然也可以