闲话:实习中,头头让我整理一下JDK各版本主要的新特性。第二篇为JDK 1.5主要新特性介绍,因为它也算是年代久远的东西,就讲讲java语言的增强吧
参考官方文档:https://docs.oracle.com/javase/1.5.0/docs/relnotes/features.html

1.泛型(Generics)

  • 解释:泛型提供了一种将集合类型传递给编译器的方法,以便可以检查它。一旦编译器知道集合的元素类型,编译器就可以检查您是否一直使用了集合,并且可以使用正确的强制转换。

  • 例子

     public class Paly<T>{//被调用时T play(){}}//其中T就是作为一个类型参数在Play被实例化的时候所传递来的参数,比如:Play<Integer> playInteger=new Play<>();//这里T就会被实例化为Integer
    

2.增强了循环(Enhanced for Loop)

  • 解释:增加了for-each循环

  • 例子

       //使用迭代器void cancelAll(Collection<TimerTask> c) {for (Iterator<TimerTask> i = c.iterator(); i.hasNext(); )i.next().cancel();}//使用for-each循环void cancelAll(Collection<TimerTask> c) {for (TimerTask t : c)t.cancel();}

3.自动装箱与自动拆箱(Autoboxing/Unboxing)

  • 解释:自动装箱自动将基本数据类型转换为对应包装器对象;拆箱自动将包装器对象转换为对应的基本数据类型。

  • 补充资料:
    基本数据类型
    byte,char,short,int,float,long,double,boolean
    对应的包装器类型
    Byte,Character,Short,Integer,Float,Long,Double,Boolean

  • 例子

    public class Main {public static void main(String[] args) {//自动装箱Integer total = 99;//自定拆箱int totalprim = total;}
    }
    

4.类型安全的枚举(Typesafe Enums)

  • 解释:在1.5中,Java语言获得了枚举类型的语言支持。 在它们最简单的形式中,这些枚举看起来就像它们的C,C ++和C#对应物
  • 例子
    –常量

    public enum Color {  RED, GREEN, BLANK, YELLOW
    }//--switch语句
    enum Signal {GREEN, YELLOW, RED}public class TrafficLight {Signal color = Signal.RED;public void change() {switch (color) {case RED:color = Signal.GREEN;break;case YELLOW:color = Signal.RED;break;case GREEN:color = Signal.YELLOW;break;}}}
    

–向枚举中添加新方法、覆盖枚举的方法、实现接口、使用接口组织枚举等就不一一举例

5.可变参数(Varargs)

  • 解释:在编写方法的过程中,可能会遇见一个方法有不确定参数个数的情况。一般我们会用方法重载来解决问题;但是当参数多的时候就会显得很繁琐,同时每次扩展都会很麻烦。于是我们可以使用数组作为参数;但麻烦的是每次都要构造一个数组,于是我们可以使用可变参数的方式

  • 补充说明
    –可变参数必须放在参数列表最后一个
    –可变参数只能有一个
    –包含可变参数的方法匹配优先级最低

  • 例子

    public void method(char c, int...args);
    

6.静态引入(Static Import)

  • 解释:使用静态导入后被导入类的静态变量和静态方法在当前类中直接可见。使用时这些静态成员无需再给出他们的类名,调用的时候和调用自己的方法没有不论什么差别
  • 例子
    import static java.lang.Math.PI;
    

7.元数据/注解(Metadata / Annotations)

  • 解释:它是代码中的特殊标记,能够在编译、类加载、运行时被识别(需要设置),并根据不同的Annotation来执行不同的处理

  • 例子

    public @interface RequestForEnhancement {int    id();String synopsis();String engineer() default "[unassigned]"; String date();    default "[unimplemented]";
    }
    

JDK 1.5 主要新特性相关推荐

  1. JDK 1.4 主要新特性

    闲话:实习中,头头让我整理一下JDK各版本主要的新特性.第一篇为JDK 1.4主要新特性介绍,虽说是快二十年前的东西,用处也不是很大,有兴趣可以瞄一瞄 1.XML处理 解释:针对XML处理的JavaT ...

  2. 一文总结Java\JDK 17发布的新特性

    简介: JDK 17已经于2021年3月16日如期发布.本文介绍JDK 17新特性.JDK 17于2021年9月14日正式发布(General-Availability Release).JDK 17 ...

  3. JDK各个版本的新特性jdk1.5-jdk8

    文章链接:JDK各个版本的新特性jdk1.5-jdk8 不过最有用的是java的lambda表达式,还有stream的运用,以及map和reduce.一篇文章就够了.厉害. jdk8新特性(部分) 接 ...

  4. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结...

    Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 ...

  5. JDK 8 中的新特性

    目录 JDK 8 中的新特性 JDK 8 中的新特性 JDK 版本说明 JDK 8 版本说明 Java Platform, Standard Edition 8 是一个拥有丰富特性的主要版本.本文档总 ...

  6. JDK各个版本的新特性

    JDK各个版本的新特性 ************ 如有侵权请提示删除 *************** 文章目录 JDK各个版本的新特性 JDK1.19 新特性 JDK1.18 新特性 JDK1.17 ...

  7. JDK 13 的五大新特性!你最中意哪个?

    点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 来源:阿飞的博客 关注我,回复口令获取可获取独家整理的学习资料: - 001:领取<Spring ...

  8. JDK 8 十大新特性详解

    前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java ...

  9. java development kie_Java Development Kit (JDK) 发展历程 及新特性

    "JDK1.5"(开发代号猛虎)的新特性 1.泛型(Generic) C++通过模板技术 可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能.一个集合可以放任何类型 ...

最新文章

  1. oracle定时器每天下午6点_周五下午6点到8点 万盛经开区党工委书记、管委会主任袁光灿直播带货...
  2. python编程基础题库_大学moocPython编程基础题库及答案
  3. 如何将结婚当作项目来管理
  4. ASP.NET的MVC中使用Cookie做身份验证(附代码下载)
  5. 高并发负载均衡(四):基于keepalived的LVS高可用搭建
  6. 【渝粤题库】国家开放大学2021春2175市场营销学题目
  7. java实现远程系统控制_java实现电脑远程控制完整源代码
  8. 基于php+Mysql新闻管理系统 开题报告
  9. 按键精灵打怪学习-窗口绑定技能
  10. 二维数组与指针(详解)
  11. 第6章 为用户编程:终端控制和信号
  12. 【GNSS发展历史】
  13. java爬虫(爬取豆瓣电影排行榜)
  14. 携程2020算法校园招聘笔试
  15. 人参果水果宣传文案模版,水果店文案人参果
  16. 用python绘制y=x,y=1+sinx,编写Python程序,使用numpy、pandas、matplotlib三个扩展库在一个画布中绘制4个子图.
  17. UE4-制作真实场景三维地形
  18. python进行Excel处理
  19. python路径、工作路径、文件路径问题、改变当前路径
  20. win10启动0xc0000001错误

热门文章

  1. 使用XML方式进行AOP编程(代码)
  2. java io删除文件_java IO 文件操作方法总结
  3. vue 请求多个api_vue 一个input同时请求两个接口
  4. opencv 通过标定摄像头测量物体大小_视觉激光雷达信息融合与联合标定
  5. 计算机lg符号,数学符号lg的意思
  6. 获取的官方例程后怎么开发_开发商败诉后拒不赔偿怎么办,房地产纠纷处理方式有哪些?...
  7. php dingo和jwt,Laravel实现dingo+JWT api接口之配置篇
  8. rds本地库到rds恢复_华为云RDS备份导入到本地
  9. xgboost与coo_matrix
  10. 使用sklearn自带公式计算余弦相似度