jdk1.5新特性之一泛型的引入

本文介绍了Java泛型的基础概念及其在集合和Web开发中的应用。通过使用泛型,开发者可以在编译阶段确保类型安全,并减少运行时可能出现的ClassCastException。文章还提供了一个通用DAO类的设计示例,展示了如何通过泛型实现代码复用。

 、泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小地抛出ClassCastException的可能。  如果使用泛型,只要代码在编译时没有出现警告,就不会遇到运行时ClassCastException !

 

二、泛型的应用

      1、在集合中的应用,指定集合中只能存放某一类型,<>里面一定只能是引用类型,不能是基本类型,如:int等

 

ArrayList collection1 = new ArrayList(); //可能存放任意object对象 
collection1.add(1);
collection1.add(1L); 
collection1.add("abc"); 
int i = (Integer)collection1.get(1);//编译时有警告,可能会抛出ClassCastException

 

ArrayList<String> collections = new ArrayList();//只能存放String对象
collections.add("泛型");
collections.add("string");
collections.add("abc");
String element = collections.get(1);//不用强制转换类型

 

  2、在web的应用,编写通用Dao类,对数据库数据进行crud操作.

/**Dao接口类*/
public interface Dao<T> {
         public void save(T object);
         public void delete(int id);
         public T find(int id);
         public void update(T object);
         public List<T> findAll();
}
/**Dao接口实现类*/
public class DaoSupport<T> implements Dao<T> {
	@Override
	public void delete(int id) {
		System.out.println("delete");
	}
	@Override
	public T find(int id) {
		System.out.println("find");
		return null;
	}
	@Override
	public List<T> findAll() {
		System.out.println("findall");
		return null;
	}
	@Override
	public void save(T object) {
		System.out.println("save");
	}
	@Override
	public void update(T object) {
		System.out.println("update");
	}
}

 

编写实体Dao类:

/**user实体dao类*/
public interface UserDao extends Dao<User>{

}
/**user实体dao实现类*/
public class UserDaoImpl extends DaoSupport<User> implements UserDao {

}

 

这样userDao就具有了crud功能,其他dao类类似做法.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值