在下面的示例中,这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>而不是导入工作)
这仅在引用外部类定义中的嵌套类时发生,例如,当将其用作参数类型时,以及在扩展/实现它时(一旦编译器可以解析类,将导致另一个错误),或者将其用作注释或在注释中使用.
我的问题是:为什么编译器在没有显式声明的情况下找不到嵌套类?
给定L1和L2(不规则)上下文无关语言 - L1 U L2是否可能是常规的?
我知道这是可能的,但我无法找到一个显示的例子.很想获得一些帮助.
它看起来如此多余和丑陋.我最近经常使用那种表达方式,必须采用另一种方式.
"如果有效则将y分配给x,否则保持x不变"
x = y ? y : x
Run Code Online (Sandbox Code Playgroud)