1

我正在将 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。

4

1 回答 1

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
于 2016-12-28T19:49:35.000 回答