JDK1.5新特性

1静态导入

作用:简化书写
格式:import static 包名.类名.静态成员

例:

import static java.lang.System.out;
public class Demo{
	public static void main(String[] args) {
		out.println("静态导入");
	}
}

2增强for循环

作用:简化迭代器书写

格式:for (数据类型 变量名 :遍历的目标){}

适用范围:实现了Iterable借口的对象和数组对象

增强for循环也是由JVM调用iteratoer实现的,所以和迭代器循环一样,在使用增强for循环变量元素的过程中不准使用集合对象对集合的元素个数进行修改。

例:

public class Demo {
	public static void main(String[] args) {
		HashSet<String> set = new HashSet<String>();
		set.add("增强for循环");
		set.add("可变参数");
		set.add("自动装箱自动卸箱");
		
		//使用增强for循环解决
		for(String item : set){
		System.out.println("元素:"+ item);
	}
}

3可变参数

格式:数据类型... 变量名

本质是长度可变的数组。(数组的内存地址以[开头)

注:可变参数必须是形参中的最后一个,且不能出现多个可变参数。

例:

public class Demo {

	public static void main(String[] args) {
		int[] arr = {1,2,45,6,7};
		add(arr);
	}
	
	public static void add(int... arr){
		int result = 0;
		for(int item : arr){
			result+=item;
		}
		System.out.println("arr数组总和:"+ result);
	}	
}


4自动装箱、自动拆箱

8种基本数据类型不是对象,这是面向对象语言的遗憾,故出现其包装类,好处是可以调用对象的方法。

例:

//str转int
int i = Integer.parseInt("12");
//int转str
String str = Integer.toString(12);


5枚举

作用:简化书写

格式:enum 类名{}

使用范围:某些方法须接受固定范围的数据

注1:枚举类是特殊的类,枚举值就是枚举类的对象。
注2:枚举类的构造方法默认的修饰符是private的,枚举类也可自定义修饰符为private的构造函数;枚举值默认的修饰符是public static final。

注3:枚举类可以定义自己的成员变量与成员函数;枚举类可以存在抽象 的方法,但是枚举值必须要实现抽象 的方法。
注4:枚举值必须要位置枚举类 的第一个语句。

例:

enum Gender{
	man("男"),woman("女");
	
	String value;
	
	private Gender(String value){
		this.value = value;
	}
}

class Person{
	
	private String name;
	
	private	Gender sex;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Gender getSex() {
		return sex;
	}

	public void setSex(Gender sex) {
		this.sex = sex;
	}		
}

public class Demo {
	
	public static void main(String[] args) {
		Person p = new Person();
		p.setName("A_Fei");
		p.setSex(Gender.woman);
		System.out.println("名字:"+ p.getName()+" 性别:"+ p.getSex().value);	
	}
}


其本质等价于:

class Gender{
	
	String value;
	
	public static final Gender man = new Gender("男");
	
	public static final Gender woman = new Gender("女");
	
	private Gender(String value) {
		this.value = value;
	}
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值