将@AutoValue与嵌套类一起使用会产生“无法找到符号”错误

时间:2014-03-26 18:21:06

标签: java auto-value

尝试将@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。关于我做错什么的任何想法?

2 个答案:

答案 0 :(得分:17)

当您的类嵌套时,生成的AutoValue类将命名为AutoValue_Nested_Example。如docs中所述:

  

嵌套

     

对于名为Foo.Bar.Qux的嵌套抽象值类型,生成的实现类名为AutoValue_Foo_Bar_Qux。

答案 1 :(得分:0)

内部类(如果它是静态的)在名为'AutoValue_outerClass_innerClass'的单独源文件中生成