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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 、泛型是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类类似做法.

 

 

Visual Studio Code 是由微软开发的一款免费、开源、跨平台的现代化轻量级代码编辑器,自发布以来迅速成为全球开发者最受欢迎的工具之一。它结合了编辑器的轻便性和集成开发环境(IDE)的强大功能,支持多种编程语言和开发场景,核心特点: 1. 跨平台支持 可在 Windows、macOS 和 Linux 上运行,保持一致的用户体验。 2. 轻量级与高性能 启动速度快,占用资源少,适合处理大项目或低配置设备。 3. 智能代码补全 内置 IntelliSense(智能感知),提供代码提示、参数信息、快速修复等功能,支持 JavaScript、TypeScript、Python、C++ 等主流语言。 4. 内置终端 直接在编辑器内打开集成终端(支持 PowerShell、CMD、Bash 等),方便执行命令行操作。 5. 调试工具 内置调试器,支持断点、变量监视、调用堆栈查看等,无需离开编辑器即可调试代码。 6. Git 集成 直接通过侧边栏管理 Git 仓库,支持提交、分支切换、冲突解决等操作。 7. 丰富的扩展生态系统 通过 Extensions Marketplace 可安装数千款插件,扩展功能包括: 语言支持:如 Java、Go、Rust 等。 主题与图标:自定义界面风格。 工具集成:如 Docker、Kubernetes、数据库连接等。 效率工具:如 REST Client、Live Server 等。 8. 自定义与主题 支持修改键盘快捷键、界面主题、文件图标等,打造个性化开发环境。 9. 多光标编辑 按住 Alt(Windows/Linux)或 Option(macOS)点击可添加多个光标,同时编辑多处代码。 10. 远程开发支持 通过 Remote - SSH、Remote - Containers 等扩展,可直接连接远程服务器或开发容器,实现无缝协作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值