Lombok val 和 var 无法在 Android 上工作
Lombok val and var not working on Android
我正在将 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。
我想我可以看到你的问题 - @val
和 @var
仅适用于 local 变量 - 即方法或块中的变量。
因此以下内容将起作用:
public class ValExample {
public String example() {
val example = new ArrayList<String>();
example.add("Hello, World!");
val foo = example.get(0);
return foo.toLowerCase();
}
}
但它不适用于 class 成员(这不会构建):
public class BadValExample {
private val example = new ArrayList<String>();
}
@var
也需要手动启用。为此,请将 lombok.config
添加到您的项目,内容如下:
lombok.var.flagUsage = ALLOW
我正在将 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。
我想我可以看到你的问题 - @val
和 @var
仅适用于 local 变量 - 即方法或块中的变量。
因此以下内容将起作用:
public class ValExample {
public String example() {
val example = new ArrayList<String>();
example.add("Hello, World!");
val foo = example.get(0);
return foo.toLowerCase();
}
}
但它不适用于 class 成员(这不会构建):
public class BadValExample {
private val example = new ArrayList<String>();
}
@var
也需要手动启用。为此,请将 lombok.config
添加到您的项目,内容如下:
lombok.var.flagUsage = ALLOW