有关这方面的其他问题已经有两年多了,因此我想知道Java 8在Android中的地位。
具体来说,我想使用lambda表达式,只从这个开始。我想将如下代码重构为lambda表达式:
Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
missileX = ufoX;
resetRecent();
waitForUfoTimer = false;
}
}, randomize(20000, 18000));发布于 2018-07-08 07:54:09
是的,在我看来你应该。它引入了一些很好的特性,比如lambda表达式或方法引用或流(但不是每个版本都支持),使代码更加整洁。另一方面,整洁对某些人来说可能并不是一种优势,因为它可以被认为是可读性较差的。此外,你的安卓Gradle插件至少必须是3.0.0,这可能不是每个项目的选择。
如前所述,如果JAVA 8版本低于24,则不支持minSdk的某些特性。
任何minSdk都支持什么?
有关更多信息,请参见- https://developer.android.com/studio/write/java8-support。
发布于 2018-07-08 07:43:54
我们现在应该使用Java 8进行Android开发吗?
是。您需要在模块build.gradle中添加以下行
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
..
}现在默认情况下,android支持使用Java8语言特性。现在你不需要杰克了。您必须拥有Android插件3.0.0或更高版本。
发布于 2018-07-08 08:06:20
是的,使用语言特性(如lambda表达式)非常好。只需更改您的设置以反映版本8。
然而,一些Java8API并不适用于较早的android版本。这方面的一个例子是java LocalDate。如果您的目标是一个足够高的android版本(我相信是26),那么这将有效,否则您将不得不使用java Date或joda timsb。
https://stackoverflow.com/questions/51229839
复制相似问题