尝试将@AutoValue用于嵌套类时:
public class Nested {
@AutoValue
public static abstract class Example {
public static Example create(String name, int integer) {
return new AutoValue_Example(name, integer);
}
public abstract String name();
public abstract int integer();
}
}
我为cannot find symbol
收到编译错误AutoValue_Example
。关于我做错什么的任何想法?
答案 0 :(得分:17)
当您的类嵌套时,生成的AutoValue类将命名为AutoValue_Nested_Example
。如docs中所述:
嵌套
对于名为Foo.Bar.Qux的嵌套抽象值类型,生成的实现类名为AutoValue_Foo_Bar_Qux。
答案 1 :(得分:0)
内部类(如果它是静态的)在名为'AutoValue_outerClass_innerClass'的单独源文件中生成