小编Njo*_*jol的帖子

为什么我必须在定义的类中导入嵌套类?

在下面的示例中,这import是必要的,否则Java的编译器会抱怨Nested无法解析为以下类型Iterable<Nested>:

package test;

import test.Example.Nested;

public class Example implements Iterable<Nested> {

    public final static class Nested {}

}
Run Code Online (Sandbox Code Playgroud)

(使用Iterable<Example.Nested>而不是导入工作)

这仅在引用外部类定义中的嵌套类时发生,例如,当将其用作参数类型时,以及在扩展/实现它时(一旦编译器可以解析类,将导致另一个错误),或者将其用作注释或在注释中使用.

我的问题是:为什么编译器在没有显式声明的情况下找不到嵌套类?

java compiler-construction

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

两个(不规则)上下文无关语言的联合会产生常规语言吗?

给定L1和L2(不规则)上下文无关语言 - L1 U L2是否可能是常规的?

我知道这是可能的,但我无法找到一个显示的例子.很想获得一些帮助.

regular-language formal-languages context-free-language

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

有没有更好的方法来执行"x = y?y:x"?特别是在JS中

它看起来如此多余和丑陋.我最近经常使用那种表达方式,必须采用另一种方式.

"如果有效则将y分配给x,否则保持x不变"

x = y ? y : x
Run Code Online (Sandbox Code Playgroud)

javascript ternary-operator

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