Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java instanceof的用法<;模式>;在netbeans11.3+;OpenJDK 14_Java_Instanceof - Fatal编程技术网

Java instanceof的用法<;模式>;在netbeans11.3+;OpenJDK 14

Java instanceof的用法<;模式>;在netbeans11.3+;OpenJDK 14,java,instanceof,Java,Instanceof,在OpenJDK更新到14之后,扩展了instanceof语法,因此现在我们可以使用模式:关系表达式instanceof Pattern。更多信息。在NetBeans 11.3中,我注意到这里可以在这个方法附近使用提示instanceof: public String getTLSCipherSuite() { if (socket instanceof SSLSocket) { return ((SSLSocket) socket).getSession().getCi

在OpenJDK更新到14之后,扩展了
instanceof
语法,因此现在我们可以使用模式:
关系表达式instanceof Pattern
。更多信息。在NetBeans 11.3中,我注意到这里可以在这个方法附近使用提示
instanceof

public String getTLSCipherSuite() {
    if (socket instanceof SSLSocket) {
        return ((SSLSocket) socket).getSession().getCipherSuite();
    }
    return null;
}
如果我将引用类型更改为模式,我会看到NetBeans错误:

public String getTLSCipherSuite() {
    if (socket instanceof SSLSocket sslSocket) {//<--- ")" expected
        return sslSocket.getSession().getCipherSuite();
    }
    return null;
}
公共字符串getTLSCipherSuite(){

if(SSLSocket SSLSocket的套接字实例){/只有当NetBeans 11.3本身运行在Java 14 javac上,而不是与NetBeans 11.3一起打包的nb javac上时,才能使用此JDK 14功能。还必须设置Java编译器的--enable preview标志。有关详细信息,请参阅。当然,在javac而不是nb javac上运行NetBeans意味着失去nb javac的优势。有关讨论,请参阅中的链接instanceof语法在JDK15中仍然作为预览功能列出,因此不能保证它在未来的Java版本中不会改变