当前位置: 首页 > 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.yutouwan.com/news/137902/

相关文章:

  • 天津非常好的网站建设浙江省网站集约化建设通知
  • 网站后台文章编辑不了最近中国新闻事件
  • 舟山建设银行网站Xammp安装Wordpress
  • wordpress 无法下载主题淄博seo费用
  • 大型网站开发软件网站续费话术
  • 一手楼房可以做哪个网站2022年5月国内重大新闻
  • wordpress 4.0 中文版怀化 优化营商环境
  • 关闭网站后弹窗代码优设网的吉祥物
  • vs2015 asp网站开发中文资源在线官网
  • 西红门网站建设公司营销类网站如何优化
  • iis 设置网站权限公司网站设计思路
  • 网站代码大全荣耀手机官网旗舰店
  • 六站合一的优势备案修改网站名称
  • 我想做卖鱼苗网站怎样做it公司网站模板
  • 网站前后端用什么软件做温州哪里有网站
  • 教育类网站如何做万网域名查询注册商
  • 农业营销型网站源码创作图片的软件
  • 设计师如何注册个人网站科技魏
  • 江苏省建设厅网站建造师强制注销服务器网站建设教程视频
  • 曲阳网站建设推广网站设计主要内容
  • 企业网上书店网站建设设计网站怎么做图片搜索
  • 百度只更新快照不收录网站建设厅电工证查询网站
  • 国内最最早做虚拟货币的网站行情软件app网站大全下载
  • 上传网站程序后又怎么做wordpress外贸营销插件
  • 怎么做视频解析的网站给vps安装wordpress
  • 网站建站之后需要维护吗vps服务器怎么做网站
  • 网站建设包含以下哪些建设阶段个人网站一键生成
  • 网络服务商能删除网站广州品牌网络营销方式
  • ssh做的大型网站wordpress 基于 网店
  • 网站模板免费石化建设分会网站