异常,集合,泛型

一.异常定义
在Java中,程序运行时可能发生的错误分为两类:Exception和Error。Exception是指经过程序员修正之后还能继续运行的错误,称为异常
在方法执行的过程中,如果发生了异常,该异常方法或者JVM会生成对应的一个异常对象。这个对象包含了异常类型和程序运行状态等,这被称为抛出(throw)。

Throwable包含了错误(Error)和异常(Excetion两类) Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常)

 

空指针异常(NullPointerException)

String str=null;
System.out.println(str.length());

数组下标越界
 

int[] ary={1,2,3}
for{int i=0;i<=3;i++){
System.out.println(ary[i]);
}

类型转换异常

class Animal{
}
class Dog extends Animal{
}
class Cat extends Animal{
}
public class Test{
public static void main(String[] args){
Animal a1=new Dog();
Animal a2=new Cat();
Dog d1=(Dog)a1;
Dog d2=(Dog)a2;

算数异常

int one=12;
int two=0;
System.out.println(one/two);

           ClassCastException:类型强制转换异常

 

package com.darkmi.basic;

public class Test {

public static void main(String[ args) {testParse("aa");}}

 

          集合
集合类是用来存放某类对象的。
Collection是一个基本的集合接口,Collection中可以容纳一组集合元素。
Map没有继承Collection接口,与Collection是并列关系。Map提供键(key)到值(value)的映射。一个Map中不能包含相同的键,每个键只能映射一个值。
Collection有两个重要的子接口List和Set。
 

Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,JavaSDK提供的类都是继承自Collection的“子接口”如List和Set

List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,
 

ArrayList
 

transient Object[] elementData

LinkedList
 

private static class Node<E> {
    E item;
    Node<E> next;
    Node<E> prev;
    
}

Vector
 

protected Object[] elementData;


 

 

              泛型

简单的泛型类
 

public class Generics<T> { 
    private T o;   
    public Generics(T o){  
        this.o=o;  
    }  
    public T getObject() {  
        return o;  
    }  
    public void setObject(T o) {  
        this.o = o;  
    }  
    public String getType() {  
        return o.getClass().getName();  
    }  
}


public class FanXingLeiDemo<T> 这里是泛型,可以传任意的参数

泛型类

private T obj;
public T getObj() {
return obj;
}
public void setObj(T obj) {
this.obj = obj;
}
}

泛型方法:
 

public class FanXingMethod {
public <T> void show(T t)
{
System.out.println(t);
}
}

泛型接口:
 

public interface Inter<T> {
public abstract void show(T t);
}

通配符
 

void printCollection(Collection<Object> c){
for (Object e : c) {
System.out.println(e);
}
}

 

泛型使用的注意事项

泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。我们可以使用这个泛型类的各种类类型的版本,不过泛型并不支持基本数据类型。
泛型的类型参数可以有多个。
不能对确切的泛型类型使用instanceof操作。如下面的操作是非法的,编译时会出错。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值