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