> 文章列表 > 二结(4.4)集合、泛型、javaFX登录界面、初学异常

二结(4.4)集合、泛型、javaFX登录界面、初学异常

二结(4.4)集合、泛型、javaFX登录界面、初学异常

这俩天继续学习了集合以及浅的学习了泛型,就如中午开会时讲的那种先了解那些东西的概念.等后面写项目的时候再回头来挑重点学

集合:学习了一下可以用到的实现类

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程序退出