jdk5.0新特性

1.泛型的简介

(1)优点:JDK5以前,对象保存到集合中就会失去其类型特性,取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引发程序的一些安全性问题。

(2)应用在集合
用于指定集合元素的类型
- 常用集合 list set map
- 在泛型里面应该指定一个对象,String等。 不能写基本的数据类型,应该写基本的数据类型对应包装类。
(3)应用在方法
用于不同类型的数据执行相同的操作

void之前 <T>:表示定义了一个类型 这个类型是 T。后面就可以使用这个类型了。
public static <T> void swap1(T[] arr ,int a,int b) {
		T temp = arr[a];
		arr[a] = arr[b];
		arr[b] = temp;
	}

(4)应用在类(了解)
在一个类上定义一个类型,这个类型可以在类里面直接使用

public class TestDemo04<T> {
	//在类里面可以直接使用T的类型
	T aa;
	public void test11(T bb) {}
	
	//写一个静态方法 在类上面定义的泛型,不能再静态方法里面使用
	public static void test12(A cc) {}  // 错误
	public static <A> void test12(A cc) {} // 正确,需要方法自己定义一个新泛型
}

(5)泛型只是出现在源代码阶段,当编译之后泛型不存在了

2.枚举enum

枚举对象具有以下方法:
name() :返回枚举的名称
ordinal() :枚举的下标,下标从0开始
valueOf(Class<T> enumType, String name) :得到枚举的对象

枚举类具有以下方法:
valueof(String name) 转换枚举对象
values() 获得所有枚举对象数组

3.增强for循环

语法:for(遍历出来的值 : 要遍历的集合) {}

  • 使用场景: 数组;实现Iterable接口的集合可以使用增强for循环

  • 在集合上使用增强for循环遍历
    list set 实现了Iterator接口,所以可以使用增强for循环
    map不能使用增强for循环,没有实现Iterator接口,所以不能使用增强for循环

  • 增强for循环出现目的:为了替代迭代器, 增强for底层就是迭代器实现的。

4.可变参数

可变参数的定义方法:数据类型...数组的名称
理解为一个数组,这个数组存储传递过来的参数

public static void add1(int...nums) { }
  • 注意:
    (1)可变参数需要写在方法的参数列表中,不能单独定义
    (2)在方法的参数列表中只能有一个可变参数
    (3)方法的参数列表中的可变参数,必须放在参数最后。例如:add1(int a,int...nums)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值