当前位置: 首页 > news >正文

广东建设工程招标网站专业建设 验收 网站

广东建设工程招标网站,专业建设 验收 网站,游戏网站交换友情链接,淄博高端网站建设公司目录 一、Java14新特性 1、instanceof模式匹配 2、友好的空指针(NullPointerException)提示 3、record类型 二、Java15新特性 1、Sealed Classes 2、CharSequence新增方法 3、TreeMap新增方法 4、文本块 5、无需配置环境变量 三、Java16新特性 1、包装类构造方法的…目录 一、Java14新特性 1、instanceof模式匹配 2、友好的空指针(NullPointerException)提示 3、record类型 二、Java15新特性 1、Sealed Classes 2、CharSequence新增方法 3、TreeMap新增方法 4、文本块 5、无需配置环境变量 三、Java16新特性 1、包装类构造方法的警告 2、新增日时段 3、InvocationHandler新增方法 一、Java14新特性 JDK12和JDK13中预览版的switch特性在JDK14已经是正式的语法了。 1、instanceof模式匹配 instanceof模式匹配该特性可以减少强制类型转换的操作简化了代码。 public class InstanceOf {public static void main(String[] args) {Object obj1;if (obj instanceof Integer){Integer i (Integer) obj;System.out.println(i);}//新写法if(obj instanceof Integer i){System.out.println(i);}} } 2、友好的空指针(NullPointerException)提示 JDK14添加了对于空指针异常友好的提示便于开发者快速定位空指针的对象。 package com.lwz.java14;public class TestNull {public static void main(String[] args) {new Car().engine.machine.start();} }class Car{public Engine engine; } class Engine{public Machine machine; } class Machine{public void start(){System.out.println(start);} }运行结果 Exception in thread main java.lang.NullPointerException: Cannot read field machine because engine is nullat com.lwz.java14.TestNull.main(TestNull.java:5) 3、record类型 record类型通过该类型可以省去成员变量构造方法get、set、toString方法hashcode方法equals方法等代码编写。 package com.lwz.java14;public record User(String name,Integer age) {public void study(){System.out.println(study);} } 测试 package com.lwz.java14;public class TestRecord {public static void main(String[] args) {User user new User(小米, 18);System.out.println(user);//User[name小米, age18]System.out.println(user.name());//小米user.study();//study} } 反编译 D:\xxxx....xxxxjavap -c User.class Compiled from User.java public final class com.lwz.java14.User extends java.lang.Record {public com.lwz.java14.User(java.lang.String, java.lang.Integer);Code:0: aload_01: invokespecial #1 // Method java/lang/Record.init:()V4: aload_05: aload_16: putfield #7 // Field name:Ljava/lang/String;9: aload_010: aload_211: putfield #13 // Field age:Ljava/lang/Integer;14: returnpublic void study();Code:0: getstatic #17 // Field java/lang/System.out:Ljava/io/PrintStream;3: ldc #23 // String study5: invokevirtual #25 // Method java/io/PrintStream.println:(Ljava/lang/String;)V8: returnpublic final java.lang.String toString();Code:0: aload_01: invokedynamic #31, 0 // InvokeDynamic #0:toString:(Lcom/lwz/java14/User;)Ljava/lang/String;6: areturnpublic final int hashCode();Code:0: aload_01: invokedynamic #35, 0 // InvokeDynamic #0:hashCode:(Lcom/lwz/java14/User;)I6: ireturnpublic final boolean equals(java.lang.Object);Code:0: aload_01: aload_12: invokedynamic #39, 0 // InvokeDynamic #0:equals:(Lcom/lwz/java14/User;Ljava/lang/Object;)Z7: ireturnpublic java.lang.String name();Code:0: aload_01: getfield #7 // Field name:Ljava/lang/String;4: areturnpublic java.lang.Integer age();Code:0: aload_01: getfield #13 // Field age:Ljava/lang/Integer;4: areturn } 二、Java15新特性 1、Sealed Classes 密封类和接口作用是限制一个类可以由哪些子类继承或者实现。 1、如果指定模块的话sealed class和其子类必须在同一个模块下如果没有指定模块则需要在同一个包下。 2、sealed class指定的子类必须直接继承该sealed class。 3、sealed class的子类要用final修饰。 4、sealed class的子类如果不想用final修饰的话可以将子类声明为sealed class。 package com.lwz.java15;//只希望Cat和Dog能够继承Animal类 public sealed class Animal permits Cat,Dog{public void eat(){} } package com.lwz.java15;//Cat不能有子类 public final class Cat extends Animal{Overridepublic void eat() {System.out.println(吃鱼);} } package com.lwz.java15;//需要指定子类 public sealed class Dog extends Animal permits Hushy{Overridepublic void eat() {System.out.println(吃肉);} } package com.lwz.java15;public final class Hushy extends Dog{ } 2、CharSequence新增方法 该接口新增了isEmpty()作用是判断CharSequence是否为空 /*** Returns {code true} if this character sequence is empty.** implSpec* The default implementation returns the result of calling {code length() 0}.** return {code true} if {link #length()} is {code 0}, otherwise* {code false}** since 15*/default boolean isEmpty() {return this.length() 0;} 3、TreeMap新增方法 putIfAbsent computeIfAbsent computeIfPresent compute merge 4、文本块 文本块由预览版变更为正式版 5、无需配置环境变量 win系统中安装完成之后会自动将java.exejavaw.exejavac.exejshell.exe这几个命令添加到环境变量中。 三、Java16新特性 1、包装类构造方法的警告 使用包装类的构造方法在编译的时候会出现警告不建议再使用包装类的构造方法下面代码在javac编译之后会出现警告 public class Test {public static void main(String[] args) {Integer inew Integer(6);System.out.println(i);synchronized (i){//警告Integer 因有缓存池不相关代码也可能互相影响}} } Deprecated(since9, forRemoval true)public Integer(int value) {this.value value;} 2、新增日时段 打印上午下午晚上等时间 import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;public class Data01 {public static void main(String[] args) {System.out.println(DateTimeFormatter.ofPattern(B).format(LocalDateTime.now()));} } 3、InvocationHandler新增方法 CallerSensitivepublic static Object invokeDefault(Object proxy, Method method, Object... args)throws Throwable {Objects.requireNonNull(proxy);Objects.requireNonNull(method);return Proxy.invokeDefault(proxy, method, args, Reflection.getCallerClass());} Java11-13新特性 一个程序员最重要的能力是写出高质量的代码 有道无术术尚可求也有术无道止于术。 无论你是年轻还是年长所有程序员都需要记住时刻努力学习新技术否则就会被时代抛弃
http://www.huolong8.cn/news/137902/

相关文章:

  • 工程建设监理网站多商户wordpress
  • 中山网站建设制作动画形式的h5在哪个网站做
  • 静态网站开发专注WordPress网站建设开发
  • 品牌网站的愿望清单怎么做漂亮的网站改版中 html代码
  • wap网站推荐百度怎么做网页
  • wordpress 调用评论seo推广怎么做视频教程
  • 怎么做网站的需求怎么做flash网站
  • asp美食网站源码个人备案 网站内容
  • 提供邯郸企业建网站营销培训生
  • 做包装看什么网站数据库跟网站内容
  • 网站是如何建立的呢WordPress授权站资源网
  • 做网站怎么选取关键词福州市建设工程工料机信息网站
  • 通辽建设网站公司网站内容更新该怎么做
  • 旅游网站 系统海外网络加速器免费
  • 自己做的网站怎么在百度可以查到互联网与网站有哪些
  • 网站建设的基本思路网站空间名
  • 网站 关键词iis 手机网站
  • 思睿鸿途北京网站建设实时热榜
  • 做网站一般有几个关键词万网域名的优势
  • 2017网站建设前景郑州做网站外包的公司
  • 中关村在线官方网站电脑wordpress菜单判断
  • 上海网站设计推荐刻百度竞价推广效果好吗
  • 做复印机的模板网站模板公司
  • 做美工用什么素材网站广州vps网站
  • 如何优化网站结构电影wordpress
  • 成都装修网站制作价格wordpress可以放视频播放器
  • 企业信息网站网站建设和管理情况调查表
  • 网易企业邮箱后缀是多少seo外包团队
  • 厦门人才网唯一官方网站登录入口wordpress模仿做slider
  • 英文网站源码下载做网站排名软件