Java基础四-异常处理/集合框架以及泛型
异常的处理
编写程序时,代码可能会重新啊运行错误或编译错误,为了处理问题可以使用异常机制
异常包括错误类型,原因和位置
异常的体系结构
如何进行异常处理
java异常处理都是由5个关键字实现的 try ,catch finally throw throws
常见的异常类
try..catch..finally
catch不能独立于try存在
在try/catch后面添加finally块并非强制性要求
try代码厚既不能没有catch也不能没有finally块
try catch finally 块之间不能添加任何代码
自定义异常
如果一个方法体中抛出了异常,如果同志调用者?
throws声明某个方法可能抛出的各种异常,多个异常用逗号隔开
方法1 调用者处理异常
方法2 调用者继续声明异常
main方法声明的异常由java虚拟机JVM处理
运行异常和编译异常
运行时期的异常:rumtimeexception 的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理
编译时期异常:exception的在编译时期必须处理
集合框架以及泛型
java集合框架包含的内容
collection
接口:存储一组不唯一,无序的对象
list接口:存储一组不唯一,无序(插入顺序)的对象
set接口 存储一组唯一 无序的对象
map接口 存储一组键值对象,提供key到value的映射
list接口实现类
ArrayList实现了长度可变的数组,在内存中分配连续的空间.遍历元素和随机访问元素的效率比较高
LinkedList采用链表存储方式.插入,删除元素效率高
HashSet使用
Object类型声明
Set接口
set接口存储一组唯一,无序的对象
hashset时set接口常用的实现类
set中存放对象的引用
包: import java.util.HashSet/Set
HashMap常用方法
Object类型声明
迭代获取键值
泛型的引用
如何解决以下强制类型转换时容易出现的异常问题
List的get(in index)方法获取元素
Map的get(Object key)方法获取元素
Iterator的next()方法获取元素
泛型改写了集合框架所有的接口和类
泛型集合
将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性
典型泛型集合ArrayList <E> HashMap<K,V>
<E><K,V>表示该泛型集合中的元素类型
泛型集合中的数据不在转换为Object
#利用泛型做对象
#ArrayList的add方法不支持class dog的string类型 所以先通过创建一个arraylist<dog> al = new arraylist();约束元素类型
再创建狗的类和添加对象
添加之后的对象即可用arraylist的add添加数据
输出是输出arraylist数组里的狗类元素