当前位置:   article > 正文

JDK1.7和JDK1.8版本的新特性_jdk17和jdk1.8区别

jdk17和jdk1.8区别

一.JDK1.7版本的新特性

1.二进制字面量

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

3.switch 语句可以用字符串

二.JDK1.8版本的新特性

1.新特性一:新增的日期时间相关类 

LocalDate、 LocalTime、 LocalDateTime类​

Instant 时间戳类​

Duration类和Period类​

TemporalAdjuster时间矫正器​

DateTimeFormatter解析和格式化日期或时间的类​

ZoneID 世界时区类​

2.特性二:Lambda表达式

Lambda表达式的书写语法​

匿名内部类的Lambda表达式简化规则​

Lambda表达式可作为参数传递​

Lambda表达式的另一种写法, 方法引用​

构造器引用​

3 .特性三:Stream流

Stream 的操作三个步骤

创建Stream的方式   

Stream 的中间操作

Stream 的终止操作


一.JDK1.7版本的新特性

1.二进制字面量

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

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

        为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了  _对数据分隔  。注意事项:不能出现在进制标识和数值之间 / 不能出现在数值开头和结尾 / 不能出现在小数点旁边.  例:int x = 100_1000;

3.switch 语句可以用字符串

  1. public class Test {
  2. public static void main(String[] args) {
  3. String s="HELLO";
  4. switch (s){
  5. case "a":
  6. System.out.println("a");
  7. break;
  8. case "HELLO":
  9. System.out.println("HELLO");
  10. break;
  11. }
  12. }
  13. }

还有一个泛型简化的特性


二.JDK1.8版本的新特性

1.新特性一:新增的日期时间相关类 

LocalDate、 LocalTime、 LocalDateTime类

        LocalDate、 LocalTime、 LocalDateTime类的实例是不可变的对象, 分别表示使用 ISO-8601日历系统的  日期、时间、日期和时间。  它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。 注: ISO-8601日历系统是国际标准化组织制定的现代公民的日期和时间的表示法 这些新增的日期时间API都在 java.time包下

获取对象的方法

  • 方式1通过静态方法  now();     例如:LocalDateTime ldt = LocalDateTime.now();
  • 方式2通过静态方法of()方法参数可以指定年月日时分秒;        例如:LocalDateTime of =LocalDateTime.of(2018, 12, 30, 20, 20, 20);

常用方法

  • ldt.getYear();                                                                            //获取年
  • ldt.getMinute();                                                                        //获取分钟
  • ldt.getHour();                                                                           //获取小时
  • getDayOfMonth                                                                       //获得月份天数(1-31)
  • getDayOfYear                                                                          //获得年份天数(1-366)
  • getDayOfWeek                                                                        //获得星期几(返回一个 DayOfWeek枚举值)
  • getMonth                                                                                 //获得月份, 返回一个 Month 枚举值
  • getMonthValue                                                                        //获得月份(1-12)
  • getYear                                                                                    //获得年份
  • format()                                                                                    //格式化日期日期字符串的方法    例如:String yyyy = ldt.format(DateTimeFormatter.ofPattern("yyyy"));
  • toLocalDate();    /   toLocalTime();                                           //转换的方法       例如:LocalDate localDate = ldt.toLocalDate();            例如:LocalTime localTime = ldt.toLocalTime();   
  • isAfter()                                                                                    //判断一个日期是否在指定日期之后        例如:  boo
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/525290
推荐阅读
相关标签
  

闽ICP备14008679号