您的位置:首页 > 编程语言 > Java开发

JAVA _JDK5的特性

2016-05-01 21:22 267 查看

for-each 循环

=====================================

* 数组遍历、集合迭代遍历

的语法简化

* 数组

for(int i=0;i<a.length;i++) {

String s = a[i];

// 处理 s

}

for-each简化语法:

for(String s : a) {

// 处理 s

}

* 集合

for(Iterator<String> it = list.iterator(); it.hasNext();) {

String s = it.next();

// 处理 s

}

for-each简化语法:

for(String s : list) {

// 处理 s

}

可变长参数

=====================================

* 对数组参数的语法简化

* 本质是数组

void f(int[] a) {

// 处理数组 a

}

f(new int[]{5,23,5,4,2});

f(new int[]{});

----可变长参数----

void f(int... a) {

// 处理数组 a

}

f(2,4,1,2,5);

f(2,5,5,3,32,2,6,7,8,4,3,345,5);

f(2);

f();

泛型

=====================================

* 是一种类型参数

class A<T> {

T t;

void f1(T t) {

}

T f2() {

}

}

A<Date> a = new A<>();

* 泛型不支持基本类型

枚举 enum

=====================================

* 一组固定选项

* enum 代替 class
关键字

enum Type {

COLD, HEAT, NUCLEAR

}

*) 这三个选项,

本质是 Type 类型的对象

class Type {

public static final Type COLD = new Type();

public static final Type HEAT = new Type();

public static final Type NUCLEAR = new Type();

}

异常

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

* 封装错误信息的对象

*) 类型名称

*)提示消息

*)行号

* 继承结构

Throwable

|— Error 系统即错误 java运行时环境出现的错误,如:JVM内存资源耗尽

|— Exception可修复的错误,网络故障、文件损坏、输入非法等导致的错误

|— 其他Exception

|— RuntimeException

|— NullPointerException

|— ArrayIndexOutOfBoundsException

|— ArithmeticException

|— NumberFormatException

|— InputMismatchException

* 捕获异常

*) 目的:当异常发生时妥善的终止程序,避免灾难性后果发生

*) a具体操作:1)
通知:向用户通知异常的发生

2) 恢复:保存重要数据、关闭文件,回滚事务等

3)退出:以恰当的形式退出程序

Try{

可能抛出异常的代码

} catch (AException e){// 捕获AException
类型的对象, 赋给变量e

getMessage() 得到有关异常事件的信息

printStackTrace() 跟踪异常事件发生时执行堆栈内容

在这里修复异常,使程序继续执行

} finally {

不论出不出错都执行

}

* RuntimeException

有默认抛出管道

*) RuntimeException 及其子类型 都可以从默认管道抛出

*) 其他Exception
要添加抛出管道才能抛出, 如果不添加管道,必须捕获

* throws

*) 添加指定异常的抛出管道

*) 程序中会定义许多方法,这些方法中可能会因某些错误而引发异常,但是我们不希望直接在这个方法中处理这些异常,而希望调用这个它的方法来统一处理,这时候我们可以使用“throws”关键词来声明这个方法将会抛出异常

Void f() throws AException,BException {

}

*

* throw

手动抛出异常对象

AException e = new AException();

throw e;

* 异常包装

捕获到一个异常对象, 然后封装在另一个异常对象中, 再抛出

* 自定义异常

*) 自定义异常类型,来表示业务相关的异常

ZhuanZhangException

UsernameNotFoundException

WrongPasswordException

*) 步骤:

1) 起名字 (最好能通过名字看出是什么异常)

2) 继承一个合适的父类型

3) 添加合适的构造方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: