小编Bea*_*r64的帖子

java中模式变量的范围是如何解析的?

我正在研究java中的模式变量。在阅读JLS时,它提到了有关何时引入模式变量的几个条件。它提到——

该分析依赖于技术术语“introduced by”,其形式如下:

  • 当 true 时,模式变量表达式引入
  • 当 false 时,模式变量表达式引入
  • 模式变量语句引入

在 6.3.1 中提到了表达式中模式变量的范围,其中指出何时为&&||!?:等引入模式变量。

但我觉得解释很混乱,谁能详细说明一下&&,,||!

模式变量的示例 -

Object o = "a";

if(o instanceof String s) {
    System.out.println(s); 
}
Run Code Online (Sandbox Code Playgroud)

我困惑的地方——

class foo {
    String s, n, p, m;

    void method() {
        Object o = "s";
        if (!(o instanceof Integer s) && o instanceof Integer n) {
            System.out.println(s + " " …
Run Code Online (Sandbox Code Playgroud)

java pattern-matching jls java-14

1
推荐指数
1
解决办法
970
查看次数

标签 统计

java ×1

java-14 ×1

jls ×1

pattern-matching ×1