Java instanceof的用法<;模式>;在netbeans11.3+;OpenJDK 14
在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
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版本中不会改变