Java 0 新API和选项

Java 0 新API和选项

JDK 10发布了70多个新的API和选项,添加到了Java库中。以下是一些重要的改进。

Optional.orElseThrow() 方法

java.util.Optional类中新增了一个新方法 orElseThrow() ,现在是 get() 方法的首选替代。

用于创建不可修改集合的API

List、Set和Map接口中新增了一个新方法 copyOf() ,可以从现有的集合实例创建新的集合实例。Collector类新增了方法 toUnmodifiableList()、toUnmodifiableSet()和toUnmodifiableMap() ,将流的元素放入一个不可修改的集合中。

禁用JRE最后使用情况跟踪

引入了一个新的标志jvm.disableLastUsageTracking,用于禁用正在运行的虚拟机的JRE最后使用情况跟踪。

散列密码

JMX代理现在将jmxremote.password文件中的明文密码覆盖为它们的SHA3-512散列值。

javadoc对多个样式表的支持

javadoc命令新增了一个–add-stylesheet选项。该选项支持在生成的文档中使用多个样式表。

javadoc对重写方法的支持

javadoc命令新增了一个–overridden-methods=value选项。许多类重写继承的方法,但不改变规范。–overridden-methods=value选项允许将这些方法与其他继承的方法分组,而不是单独文档化它们。

javadoc对摘要的支持

新增了一个内联标签{@summary …},用于指定用作API描述摘要的文本。默认情况下,API描述的摘要从第一句话推断得出。

示例

以下程序展示了在JAVA 10中使用一些新的API。

import java.util.List;
import java.util.stream.Collectors;

public class Tester {
   public static void main(String[] args) {
      var ids = List.of(1, 2, 3, 4, 5); 
      try {
         // get an unmodifiable list
         List<Integer> copyOfIds = List.copyOf(ids);
         copyOfIds.add(6);  
      } catch(UnsupportedOperationException e){
         System.out.println("Collection is not modifiable.");
      }
      try{
         // get an unmodifiable list
         List<Integer> evenNumbers = ids.stream()
            .filter(i -> i % 2 == 0)
            .collect(Collectors.toUnmodifiableList());;
         evenNumbers.add(6);    
      }catch(UnsupportedOperationException e){
         System.out.println("Collection is not modifiable.");
      }
   }
}

输出

它将打印以下输出。

Collection is not modifiable.
Collection is not modifiable.

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程