Lombok val和var无法在Android上运行

时间:2016-12-28 19:25:02

标签: android lombok intellij-lombok-plugin

我正在将Project Lombok整合到我们的Android应用中。我遇到了使用val和var的问题。我为var或val类型的字段获取不兼容类型错误,当我为其分配值(任何类型)时。

private final val example = new ArrayList<String>();

private var eg2;
eg2=getRandomString();

有没有人在Android中尝试过var和val?任何帮助,将不胜感激。

我使用的是Lombok版本1.16.12,Android Studio 2.3 Beta 1,Android插件版本2.2.3和Gradle 3.2.1。

1 个答案:

答案 0 :(得分:2)

我认为我可以看到您的问题 - @val@var仅适用于本地变量 - 即方法或块中的变量。

以下内容将起作用:

public class ValExample {
  public String example() {
    val example = new ArrayList<String>();
    example.add("Hello, World!");
    val foo = example.get(0);
    return foo.toLowerCase();
  }
}

但它不适用于类成员(这不会构建):

public class BadValExample {
  private val example = new ArrayList<String>();
}

@var也需要手动启用。为此,请在项目中添加lombok.config,其内容为:

lombok.var.flagUsage = ALLOW