当前位置: 首页 > 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 obj=1;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=小米, age=18]System.out.println(user.name());//小米user.study();//study}
}

反编译

D:\xxxx....xxxx>javap -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.exe,javaw.exe,javac.exe,jshell.exe这几个命令添加到环境变量中。

三、Java16新特性

1、包装类构造方法的警告

使用包装类的构造方法在编译的时候会出现警告,不建议再使用包装类的构造方法,下面代码在javac编译之后会出现警告

public class Test {public static void main(String[] args) {Integer i=new Integer(6);System.out.println(i);synchronized (i){//警告,Integer 因有缓存池,不相关代码也可能互相影响}}
}
    @Deprecated(since="9", 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.jinmujx.cn/news/78435.html

相关文章:

  • 常州想做个企业的网站找谁做zoho crm
  • 做网站招标快推达seo
  • 长沙做网站的故事seo页面如何优化
  • 公司建立网站的好处百度新闻app
  • 重庆制作网站厦门百度seo公司
  • 上海的二字代码优化网络
  • wordpress文章分类权限aso具体优化
  • html颜色代码表百度上做优化一年多少钱
  • 自己服务器做网站服务器备案防疫管控优化措施
  • b2b电子商务网站介绍客户管理软件crm排名
  • mvc5网站开发之六百度查询关键词排名工具
  • 触宝免费网络电话seo网络推广经理
  • 设计网站的功能有哪些搜索引擎大全全搜网
  • 国内时事新闻2023最新站长工具查询seo
  • 为什么自己做的网站别的电脑打不开自己做网站需要什么条件
  • 网站建设服务套餐百度关键词刷排名软件
  • 网站建设与web应用开发技术公司网站建设哪个好
  • javaee做的是网站吗产品推广找哪家公司
  • 重庆住房城乡建设厅官方网站百度小说风云榜总榜
  • 企业为什么做网站优化推广正规电商培训班
  • 如何在头条上做网站推广万网官网域名注册
  • 网站建设实训个人重庆黄埔seo整站优化
  • wordpress默认字体颜色百度seo公司哪家强一点
  • 青海建设兵团青岛战友网站百度浏览器下载
  • 镇江网站搭建长沙百度网站推广公司
  • 合肥网站推广助理cnzz数据统计
  • 网站推荐货源百度网站推广怎么做
  • 阿里云和wordpressseo站外优化平台
  • 做网站开发很赚钱吗seo网站推广免费
  • 学校校园网站使用扬州百度关键词优化