java1.5以后的一些新特性
1)迭代器问题
Collection中提供了一个方法
Iterator iterator()该方法用于返回当前集合的迭代器(迭代器:是用于遍历集合的,每种集合的内部实现不同,故迭代器的遍历方式不同)
Iterator接口 定义了三个方法
boolean hasNext():询问迭代器迭代的集合是否还有元素
Object next():获取下一个元素
void remove():删除刚刚迭代出来的元素
使用迭代器的流程——问->拿->删(也可以不删,但问和拿一定要联合使用)
用迭代器迭代时只能用迭代器的remove方法,不能使用集合的remove方法,否则在迭代过程中会产生异常
2)泛型
可以在我们使用某个类的时候,动态的给该类的属性或方法的参数返回指定类型
a.List接口中的get方法获取元素时直接是泛型指定类型,无须在进行造型了
b.迭代器也支持泛型:注意迭代器指定的泛型类型一定要和遍历的集合的泛型类型一致
c.当支持泛型的类,我们在使用时不指定泛型类型时,那么泛型默认的类型就是Object
自定义泛型:
语法:
在定义类的时候,在类名之后用<>定义泛型,泛型的命名可以是字母与数字的组合,数字不能是第一个字母,若指定多个泛型,中间用","分开
泛型类型只能是引用类型(包括包装类)
3)增强for循环,又叫新循环
新循环:其作用是遍历集合和数组的,不能用新循环代替传统循环
for(TYPE ele:array){
//循环体
}
TYPE:集合或数组的类型
ele:元素引用变量
array:要遍历的集合或数组的实例
新循环的循环次数由遍历的集合或数组长度决定,每次循环时,会将集合或数组中的元素
一次赋值给ele,然后进入循环体
java1.5以后的一些新特性相关推荐
- java1.8的stream_JDK1.8新特性(一):stream
搜索热词 一.什么是stream? 1.概述 Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据. 这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并 ...
- Java1.5增加了新特性:可变参数
/* Java 可变参数 Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理. 注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有 ...
- Java1.8新特性之Stream的使用
JAVA1.8新特性Stream API的简单使用 list.stream()和list.parallelStream()的区别:stream(),单线程操作,虽然Stream API支持多线程操作集 ...
- Java | 学习系列 Java1.8 新特性详解( 包含学习代码 )
前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java ...
- JDK各版本内容和新特性
版本JDK1.0:1995年初发布了Java语言,1996年初发布JDK1.0版本,这个版本包括两个部分:运行环境(即 Java Runtime Environment,JRE)和开发环境(即 ...
- java9特性_96.java基础10(java9/10/11新特性)
126.java 9 新特性1(模块化功能): 1.java模块化 2.java 交互式环境jshell 3.泛型 package com.atguigu.java; import org.junit ...
- jdk1.8新特性之lambda表达式及在Android Studio中的使用举例
Jdk1.8已经出很久了但是很多同学对它的特性在android studio 中的应用可能还不是很熟悉,今天我们就来对这个新特性在AS中做它的应用实践. 一.首先在有JDK1.8的情况下我们要在AS的 ...
- jdk5.0的新特性
jdk的版本在1.4后变化很大,所以叫jdk5.0 下面是总结jdk5.0的新特性: (1)泛型(***) 泛型简介 泛型是J2SE 5.0最重要的特性.他们让你写一个type(类或接口)和创建一个 ...
- java 1.7 可变参数,JDK1.7新特性(2):异常和可变长参数处理
异常 jdk1.7对try--catch--finally的异常处理模式进行了增强,下面我们依次来看增强的方面. 1. 为了防止异常覆盖,给Throwable类增加了addSuppressed方法,可 ...
最新文章
- css揭秘之linear-gradient
- zcu102 hdmi example(一)
- Oracle 基础练习
- Javascript创建节点
- 静态路由与动态路由的优先级_静态路由基础知识
- 基线长度中误差的计算_电子战支援实施中的测向技术
- Android中自定义水球
- Sicily 1049. Mondriaan 解题报告
- 小马客服系统多种商户接入客服等!目前最好的客服系统 跟洽美差不多
- 政法委重点人员联防联控系统开发,社会治安防控平台建设
- C/C++多线程面试题
- kaldi的安装使用
- rrpp协议如何修改_Rrpp详解
- FPGA仿真--前仿真和后仿真
- python地址怎么写_python文件地址(文件路径)怎么写
- 2014年初款11寸MacBook Air安装Windows 7 64bit操作系统缺少USB3驱动键盘鼠标失效
- php+flash头像上传组件
- 【HTML5初涉】H5与H4的区别
- Quartus 调试笔记
- apk 泊车摄像头_大陆360度环视摄像头技术可提供3D泊车影像
热门文章
- 安装TensorFlow时出现ERROR: Cannot uninstall ‘wrapt‘问题的解决方案
- 连接池你用对了吗?一次Unexpected end of stream异常的排查
- c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案
- git config --global写到哪里?
- slice(),substring()和substr()的异同
- 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
- 携程Apollo(阿波罗)配置中心本地开发模式不接入配置中心进行本地开发
- HDU 5769 Substring
- ext js IE9显示白板 页面浏览器模式强制渲染IE8
- ttcp 之测试网络性能