这俩天继续学习了集合以及浅的学习了泛型,就如中午开会时讲的那种先了解那些东西的概念.等后面写项目的时候再回头来挑重点学
集合:学习了一下可以用到的实现类
List:(有序,可重复,有索引)
ArrayList:支持动态数组的集合类。
LinkedList:支持链表和双向链表的集合类。
Set:(无序,不可重,无索引)
HashSet:使用哈希表实现的无序集合类。
TreeSet:使用树结构实现的有序集合类。
HashMap:使用哈希表实现的键 - 值对映射。
TreeMap:使用树结构实现的有序键 - 值对映射。
泛型:
允许编译时确定所要用到的类型变量,并在运行时检查这些类的对象是否合法
因此可以避免类型转换异常等错误
//泛型是通过在类名或方法名后添加尖括号<>和类型参数来实现的
class Box<T>{
private T content;
public T getContent() {
return content;
}
public void setContent(T content) {
this.content = content;
}
}
生成:
Box<Integer> box=new Box<>();
box.setContent(5);
System.out.println(box.getContent());
但是泛型也有其限制,如无法在静态变量中使用泛型类型、无法使用原始类型等
大多数时候也可以用泛型方法来替代类型通配符
interface Collection<E>
{
boolean contain(Collection<?> c);
boolean contains(Collection<? extends E> c);
}
interface Collections<E>
{
<T> boolean contain(Collections<T> c);
<T extends E> boolean contains(Collections<E> c);
}
javaFX实现的登录界面:
另外了解了一下异常:
java异常机制主要依赖于try、catch、finally、throw和throws
try和接花括号里面放置可能引发异常的code。用catch对应异常类型和一个代码块,表明改catch处理这类的代码块,多个catch后可以跟一个finally块用于回收try块资源,保证finally总被执行。
throw关键字在方法签名使用,表示可能抛出的异常;throw用于抛出实际异常,可单独做语句使用,抛出具体异常对象
java异常分Checked类和Runtime类
异常处理机制:
使用try...catch捕获异常
try {
//业务代码
}
catch (Exception e) {
//异常处li
}
抛出异常:如果try块业务逻辑代码执行时出现异常,系统生成一个异常对象,提交给运行时环境
捕获异常:运行时环境收到异常对象时,寻找处理catch块,有合适的catch块,则交予处理
如果找不到捕获异常的catch,则运行环境终止,java程序退出