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

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

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实现的登录界面:

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