简述:JDK1.5新特性:自动拆装箱、泛型、增强for循环、静态方法导入、可变参数、枚举

一、 增强for循环

增强for概述
简化数组和Collection集合的遍历
格式:
for(元素数据类型 变量 : 数组或者Collection集合) {
使用变量即可,该变量就是元素
    }
好处:简化遍历
注意事项:增强for的目标要判断是否为null
把前面的集合代码的遍历用增强for改进

package com.shulian_01;import java.util.ArrayList;/** JDK1.5新特性:自动拆装箱、泛型、增强for循环、静态方法导入、可变参数、枚举* * 增强for循环:就是for循环的一种* *   格式:*     for(元素数据类型 变量 : 数组或者Collection集合) {使用变量即可,该变量就是元素}好处:简化遍历*/
public class ForDemo {public static void main(String[] args) {int[] arrs = {1,2,3,4,5};//以前的写法for(int i=0;i<arrs.length;i++){System.out.println(arrs[i]);}System.out.println("-----------------");//增强for循环for(int i : arrs){System.out.println(i);}System.out.println("-----------------");String[] arrs2 = {"hello","world","java"};//增强for循环for(String s : arrs2){System.out.println(s);}System.out.println("-----------------");ArrayList<String> al = new ArrayList<String>();al.add("hello");al.add("world");al.add("java");//以前的for写法for(int i=0;i<al.size();i++){System.out.println(al.get(i));}System.out.println("-----------------");//增强for循环for(String s : al){System.out.println(s);}}}

增强for循环注意事项

package com.shulian_01;import java.util.ArrayList;
/** 注意事项:增强for的目标要判断是否为null*/public class ForDemo2 {public static void main(String[] args) {ArrayList<String> al = new ArrayList<String>();al.add("hello");al.add("world");al.add("java");//al = null;if(null != al){//增强for循环for(String s : al){if(s.equals("world")){al.add("javaee");}//System.out.println(s);}} }}

二、静态导入

格式:import static 包名….类名.方法名;

可以直接导入到方法的级别

注意事项
方法必须是静态的

如果有多个同名的静态方法,容易不知道使用谁?这个时候要使用,必须加前缀。由此可见,意义不大,所以一般不用,但是要能看懂。

package com.shulian_02;/** 格式:import static 包名….类名.方法名;可以直接导入到方法的级别* 注意事项方法必须是静态的如果有多个同名的静态方法,容易不知道使用谁?这个时候要使用,必须加前缀。由此可见,意义不大,所以一般不用,但是要能看懂。*/
//import java.lang.Math;import static java.lang.Math.abs;
import static java.lang.Math.max;
//import static java.util.Random.nextInt;public class StaticImport {public static void main(String[] args) {
//      System.out.println(java.lang.Math.abs(-10));
//      System.out.println(java.lang.Math.max(10, 20));
//
//      System.out.println(Math.abs(-10));
//      System.out.println(Math.max(10, 20));System.out.println(Math.abs(-10));System.out.println(max(10,20));}public static void abs(){}}

三、可变参数概述

可变参数概述
定义方法的时候不知道该定义多少个参数
格式
修饰符 返回值类型 方法名(数据类型…  变量名){}
注意:
这里的变量其实是一个数组

如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个

package com.shulian_03;/** 可变参数概述定义方法的时候不知道该定义多少个参数格式修饰符 返回值类型 方法名(数据类型…  变量名){}注意:这里的变量其实是一个数组如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个*/
public class ArgsDemo {public static void main(String[] args) {//求2个数的和int a = 10;int b = 20;int c = 30;int d = 40;System.out.println(sum(a,b));//求3个数的和System.out.println(sum(a,b,c));//求4个数的和System.out.println(sum(a,b,c,d));//求5个数的和System.out.println(sum(a,b,c,d,50));//求6个数的和System.out.println(sum(a,b,c,d,50,60));System.out.println(sum(10,20,30,40,50,60,70));int[] arrs = {1,2,3,4,5};System.out.println(sum(arrs));}//    public static int sum(int a,int b){
//      return a + b;
//  }
//
//  public static int sum(int a,int b,int c){
//      return a + b + c;
//  }
//
//  public static int sum(int a,int b,int c,int d){
//      return a + b + c + d;
//  }public static int sum(int... args){int result = 0;for(int i : args){result += i;}return result;}}

四、Arrays工具类中的一个方法

public static <T> List<T> asList(T... a)

package com.shulian04;import java.util.Arrays;
import java.util.List;/** Arrays工具类中的一个方法public static <T> List<T> asList(T... a)*/
public class ArraysDemo {public static void main(String[] args) {
//      String[] arrs = {"hello","world","java"};
//
//      List<String> lis = Arrays.asList(arrs);List<String> lis = Arrays.asList("hello","world","java");//java.lang.UnsupportedOperationException//lis.add("javaee");//lis.remove(1);//lis.set(1, "world11");for(String s : lis){System.out.println(s);}}}

JDK1.5后新特性相关推荐

  1. JDK1.5 与 JDK1.6的新特性

    JDK1.5 与 JDK1.6的新特性 收藏  一.JDK1.5的新特性 了解Java语言的特色及相关术语 泛型:泛型.通配符.有限制通配符.泛型方法 加强循环 自动装箱/拆箱 枚举 可变参数 静态引 ...

  2. JDK1.8的新特性

    JDK1.8的新特性 小飞棍儿来喽!(没来) 1. 前言 JDK1.8的特性已经不能称之为新特性了,毕竟很多厂都开始用17了,不会的赶快学起来. Jdk8这个版本包含语言.编译器.库.工具和JVM等方 ...

  3. java for each 的源_Java JDK1.5的新特性之for-each循环的底层原理

    今天给大家分享一下for-each循环的底层原理,故事还得从字节码反汇编和反编译说起... 首先看一下Java JDK1.5的新特性 泛型: ... for-each. ... 自动拆箱和装箱功能 . ...

  4. jdk1.7的新特性

    jdk1.7的新特性: 1,switch中可以使用字串 Java代码 String s = "test"; switch (s) { case "test" : ...

  5. jdk1.5-1.7新特性详细介绍

    jdk1.5新特性 1.泛型 2.foreach 3.自动拆箱装箱 4.枚举 5.静态导入(Static import) 6.元数据(Metadata) 7.线程池 8.Java Generics  ...

  6. JDK1.8的新特性详解

    前言 现在开发用的最多的就是jdk1.8:因为它具备很多优点: 1.速度更快 由于底层结构和JVM的改变,使得JDK1.8的速度提高. 2.代码更少(增加了新的语法 Lambda 表达式) 增加新特性 ...

  7. android5.0后新特性修改标题头,Android5.0中Material Design的新特性

    Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单的布局,以此来突出 ...

  8. JDK1.6.0新特性详解与代码示例 - 徐明明的博客 - CSDNBlog

    JDK6.0发布有段时间了,新的JDK也有不少新的特性,我去网上搜集了一下,列在下面和大家一起学习. 1.Desktop和SystemTray. 在JDK6中 ,AWT新增加了两个类:Desktop和 ...

  9. java jdk1.6的新特性 DeskTop SystemTray Console类 Compiler API Http Server API

    DeskTop DeskTop类允许一个Java应用程序启动本地的另一个应用程序去处理URI或文件请求 Desktop desktop=Desktop.getDesktop(); //判断是否支持桌面 ...

最新文章

  1. 分享一个OTA测试服务器,可以用来测试esp8266的http update功能
  2. python基础教程 第3版 epub_铃声多多安卓版下载
  3. java string类方法_Java基础学习——String类及其方法
  4. vs2008生成自定义dll,VS2008发布、生成网站时设置固定的dll文件名
  5. 基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档(上篇)
  6. 大型网站技术架构(七)--网站的可扩展性架构(转)
  7. 从北大高材生被华为辞退中我们需要学到什么?
  8. ubuntu 安装php mcrypt扩展
  9. JavaScript Array forEach
  10. vivado 一次性设置多线程编译
  11. matlab 发微信,微信红包算法MATLAB实现
  12. 报错:fdfs while reading from socket: (timed out))
  13. pcn变更流程图_超经典的工程变更流程图
  14. linux 16进制编辑器 知乎,狂揽2500星,开源十六进制编辑器登顶GitHub热榜
  15. HDU1880——哈希表(BKDR算法)——魔咒词典
  16. php yii2 ddd,Xunsearch SDK for PHP/yii2
  17. 2020.04.16今日份学习小结
  18. 计算机编码种类(ASCII/gbk/unicode/utf-8)
  19. 外媒:朝鲜导弹发射失败或因美国网络攻击所致
  20. java.Net.UnknownHostException异常处理的方法

热门文章

  1. 干货:如何把淘宝买家批量转成微信好友
  2. 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_函数
  3. db2 使用db2pd 进行监视和故障诊断
  4. 使用 pdb 进行调试
  5. antdv Modal(对话框)指定挂载节点 demo
  6. 数据结构(C语言描述)——顺序表
  7. windows安装pscp工具,通过命令行上传到linux服务器
  8. 英飞凌--GTM架构-Generic Timer Module
  9. 程序员的自我修养(一)
  10. mvn Mac Linux 版本,Mac 下 Maven 的命令行安装