闲话:实习中,头头让我整理一下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. 第十五届全国大学生智能车东北赛区成绩
  2. 生产者跟消费者问题(C++实现)
  3. 台湾国立大学郭彦甫Matlab教程笔记(13) 3D
  4. mysql float精度与范围总结
  5. ES2020的新特性解读
  6. JavaScript---DOM事件
  7. Tips--Anaconda安装TensorFlow报错ImportError: DLL load failed
  8. Powershell远程管理服务器客户端
  9. vue项目做本地代理
  10. 设置div绝对定位+居中
  11. 21天学通python 第2版_21天学通Python(第2版)
  12. 程序员教程第一章第二节
  13. irlr7843引脚图_IRLU7843_PDF技术资料下载_货期信息(1/10)_IR - 万联芯城
  14. 内存颗粒和闪存颗粒的区别_slc、mlc、tlc闪存芯片颗粒哪个好?有什么区别?
  15. 新冠病毒数据分析报告
  16. 简体中文转换为繁体中文
  17. Win10有哪些版本?有什么区别?如何选择Win10版本
  18. 2021年数学建模国赛C题思路
  19. 服务器故障英文邮件,全球邮
  20. 用计算机处理信息 说课,《信息和信息处理工具》说课稿范文

热门文章

  1. java 151建议_编写高质量代码改善java程序的151个建议——导航开篇
  2. python nonetype_python装饰器 ——@符号与“TypeError: ‘NoneType’ object is not callable” | 学步园...
  3. 信号归一化功率_UE低发射功率余量分析
  4. finecms控制器与html,使用@ HTML.Action与参数,以C#控制器
  5. 支付宝服务商子商户_支付宝推广数字化经营服务商应该怎么做?
  6. python语言流程控制语句的格式_第四节 Python控制语句
  7. 网站更换域名和服务器不收录,网站更换域名改如何操作
  8. 基于php在线相册,基于PHP的图片相册管理分享系统设计
  9. Linux根据名称批量杀死进程-pkill
  10. ie禁止html复制元素,JavaScript_禁止选中文字兼容IE、Chrome、FF等,复制代码 代码如下: $(el).attr('u - phpStudy...