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

wordpress 安桌应用哈尔滨优化网站方法

wordpress 安桌应用,哈尔滨优化网站方法,长春市大学生网站建设,杭州网站建设报价目录 1.JDK17 语法新增特性 1.1 yield关键字 1.2 var关键字 1.为什么使用var? 2.注意事项 1.3 异常改进 1.4 密封类 1.总结用法 1.1 sealed 修饰的类 1.2 non-sealed 修饰 1.3 permits 1.5 接口中的私有方法 1.6 instanceof 1.7 其他 1.JDK17 语法新增…

目录

1.JDK17 语法新增特性

1.1 yield关键字

1.2 var关键字

1.为什么使用var?

2.注意事项

1.3 异常改进

1.4 密封类

1.总结用法

1.1 sealed 修饰的类

1.2 non-sealed 修饰

1.3 permits 

1.5 接口中的私有方法

1.6 instanceof

1.7 其他


1.JDK17 语法新增特性

1.1 yield关键字

其实就是一个语法糖

        yield关键字从Java13 开始引入。用于从 case 代码块中返回值。

正常的switch语句:

String data = "one";
int result = 0; // 接收数据的返回值
switch (data) {case "one":result = 1;// 为 result 重新赋值break;case  "two":result = 2;// 为 result 重新赋值break;default:result = -1;// 为 result 重新赋值
}
System.out.println(result);

简化后的switch:

String data = "two";
int result = switch (data) {case "one" -> 1;case  "two" -> 2;default -> -1;
};
System.out.println(result);

如果不想使用 指向符 -> 可以使用 :yield 来代替:

String data = "two";
int result = switch (data) {case "one" :yield  1;case  "two" :yield  2;default :yield  -1;
};
System.out.println(result);

1.2 var关键字

从Java10开始,var被引入

var name = "zhangsan";
var age = 10;

上述代码,编译器会自动判断出name是一个String类型,age是一个int类型。

1.为什么使用var?

使用 var 可以使代码更简洁。

有时候,类型名称可能会非常长,例如泛型。

var就像似一个简化器,让你不必反复写出繁琐的类型名。

public static void main(String[] args) {Map<String, List<Map<Integer, String>>> complexMap = new HashMap<String, List<Map<Integer, String>>>();var complexMap = new HashMapMap<String, List<Map<Integer, String>>>();
}

2.注意事项

1.不能使用 var 来声明字段

2.不能使用 var 来声明方法参数

3.不能使用 var 来声明方法返回类型

4.var 声明变量必须初始化, 但是不能初始化为 null

一句话: 只能用于局部变量 还得初始化 并且不能初始化为 null

1.3 异常改进

效果:出现异常的具体方法和原因一目了然。

如果你的一行代码有多个方法或多个变量,可以快速定位问题所在。

如果是 JDK1.8 有些情况不太容易看出来。

JDK17改进后效果如下图:

1.4 密封类

密封类一般应用在类和接口中,对接口和类 的 实现和继承 进行约束。

以前主要使用关键字 final。

当这个类 被 final 修饰了,被修饰的类就变成完全封闭的状态了,所有类都没办法继承。

现在JDK17提供了一个新的关键字:sealed。

密封类可以被该关键字修饰 并且 在声明末尾用 permits 表示要开放给哪些类型。

下述代码 Animal 为密封类,然后使用 permits 关键字, 把继承权限开放给了 Dog 类。

sealed class Animal permits Dog {public String name;public int age;public void eat() {System.out.println("eat() ......");}
}non-sealed class Dog extends Animal {public void eat() {System.out.println(this.name + "正在吃狗粮......");}
}

1.总结用法

1.1 sealed 修饰的类

必须要有 子类

提示:Sealed class must have subclasses ,此时 Dog 被 sealed 修饰,那么 Dog 必须要有子类。

1.2 non-sealed 修饰

表示不限制,任何类都可以继承。

提示:此类必须被 Animal 类 允许

1.3 permits 

未被 permits 允许的类型,则没办法继承。(契合上面 1.2 的 此类必须被 Animal 类 允许

1.5 接口中的私有方法

JDK8 接口中可以有默认方法。

JDK9 接口中可以有私有方法。

1.6 instanceof

if (obj instanceof String) {String str = (String) obj;...
}

上面的 instanceof 语法 一共做了三件事

1.判断是否为 String 类型

2.如果是,转成 String 类型

3.创建一个名为 str 的临时变量

在 JDK 16 中,使用 模式匹配思想 改进了 instanceof 用法,可以做到如下优化效果:

if (obj instanceof String str) { // obj 是否为String类型,如果是创建临时变量 str
}

1.7 其他

1. ZGC-新一代垃圾回收器,G1垃圾回收器相关的内容等

2. record类的使用

3. Stream API 的部分改进

4. HttpClient 重写了, 支持 HTTP2.0

5. 支持 List.of ()、Set.of() 、Map.of()、Map.ofEntries等 工厂方法 实例化对象

......

http://www.dtcms.com/wzjs/224534.html

相关文章:

  • 桂电做网站的毕设容易过嘛郑州网络营销推广公司
  • 安徽省建设厅官方网站企业管理培训课程视频
  • 南阳疫情最新情况实时动态企业网站搜索优化网络推广
  • 南通哪些公司做网站南京网络营销服务
  • 黑龙江专业网站建设网址大全qq浏览器
  • 电子商务网站建设课后作业宣传推广文案
  • 网站升级公告模板网络营销的概念和特点
  • 网站建设与管理职责西安网站建设推广专家
  • 网站地图怎么使用百度一下你就知道下
  • 网站建设与维护是什么seo营销推广平台
  • 什么是网站标题网络营销策略分析论文
  • mac 如何升级wordpress有必要买优化大师会员吗
  • 做传销网站的程序员犯法吗安徽新站优化
  • 罗湖商城网站建设哪家公司便宜点网上销售
  • 各网站文风中山网站seo
  • 浙江平湖建设局网站推广项目网站
  • 珠海关键词优化收费漯河搜狗关键词优化排名软件
  • 那里有制作网站公司哈尔滨企业网站模板建站
  • 东莞seo优化推广seo流量优化
  • 网站怎么做微信推广线上推广具体应该怎么做
  • 当今做哪个网站能致富seo教程论坛
  • 集趣网站怎么做兼职搜索引擎下载入口
  • 微信公众号怎么做链接网站搜狗网站
  • 西安哪家公司制作响应式网站建设精准营销的典型案例
  • 做网站上传的图片大小网络推广包括哪些
  • 做互联网小程序 和网站有没有前景自己建网站需要钱吗
  • 北京朝阳做网站郑州整站网站优化
  • 怎么做网站的轮播图优化seo招聘
  • 厦门蓝典网站建设推广普通话手抄报模板可打印
  • 湖南网站建设免费推广产品的平台