zoukankan      html  css  js  c++  java
  • java基础第八篇之jdk1.5、jdk1.7、jdk1.8新特性

    JDK5新特性

    自动装箱和拆箱

    泛型

    增强for循环

    静态导入

    可变参数

    枚举

    枚举概述

    是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只有7天,一年只有12个月等。

    回想单例设计模式:单例类是一个类只有一个实例

    那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例。这才能是枚举类

    java就提供了枚举类供我们使用。

    格式是:只有枚举项的枚举类

    public enum 枚举类名 {

    枚举项1,枚举项2,枚举项3…;

    }

    注意事项

    定义枚举类要用关键字enum

    所有枚举类都是Enum的子类

    枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略

    枚举类可以有构造器,但必须是private的,它默认的也是private的。枚举项的用法比较特殊:枚举(“”);

    枚举类也可以有抽象方法,但是枚举项必须重写该方法

    枚举在switch语句中的使用

    枚举类中的几个常见方法

    int compareTo(E o)

    String name()

    int ordinal()

    String toString()

    <T> T valueOf(Class<T> type,String name)

    values() 

    此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便

    JDK7新特性

    二进制字面量

    数字字面量可以出现下划线

    switch 语句可以用字符串

    泛型简化

    异常的多个catch合并

    try-with-resources 语句

    二进制字面量

    JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。使用二进制字面量的好处是,可以使代码更容易被理解。语法非常简单,只要在二进制数值前面加 0b或者0B

    举例:

    int x = ob110110

    数字字面量可以出现下划线

    为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。

    举例:

    int x = 100_1000;

    注意事项:

    不能出现在进制标识和数值之间

    不能出现在数值开头和结尾

    不能出现在小数点旁边

    try-with-resources 语句

    格式:

    try(必须是java.lang.AutoCloseable的子类对象){…}

    好处:

    资源自动释放,不需要close()了

    把需要关闭资源的部分都定义在这里就ok了

    主要是流体系的对象是这个接口的子类(看JDK7的API)

    Java SE 8 有哪些主要特性?

    ? Lambda表达式,一种新的语言特性,能够使功能作为方法参数或将代码作为数据;

    ? 显著增加和完善Java语言特性,增添标准库,包括默认方法,新的java.util.stream包及 Date-Time API;

    ? Compact Profiles包含 Java SE平台预定义子集,使程序员无需部署在整个平台,可运行在小型设备上;

    ? 安全性包括更新可Java加密体系架构;限制doPrivileged;SSL/TLS Server Name Indication (SNI) Extension以及增强密钥库;

    ? JavaFX更新文档

    ? 新的JavaScript引擎Nashorn

  • 相关阅读:
    JMS API学习总结(一)
    java读取properties配置文件
    如何创建并运行java线程
    JS
    JS
    JS
    JS
    IE
    JS
    JS
  • 原文地址:https://www.cnblogs.com/haizai/p/10990216.html
Copyright © 2011-2022 走看看