首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Try-with-resources api PR19

Try-with-resources api PR19
EN

Stack Overflow用户
提问于 2017-08-30 05:32:48
回答 1查看 86关注 0票数 3

它可能是Question1Question2的复制品,但对我来说,它仍然不清楚。他们说,只有19API支持try-with-resources,但that question并非如此。

我已经用Realm自己测试过了。

代码语言:javascript
复制
boolean isClosed = RealmManager.isClosed(); //false here
try (Realm realm = RealmManager.getRealm()) {
     realm.executeTransaction(r -> r.where(User.class).findAll());
} catch (Exception ex) {
     ex.printStackTrace();
}
isClosed = RealmManager.isClosed(); //true here

public static boolean isClosed() {
    return realm == null || realm.isClosed();
}

它在22个api (真实电话)和16个api (模拟器)上运行良好。那么,在大多数手机上,这个代码块在19版本之前的api上会工作得很好吗?

我使用Retrolabmda

Gradle配置:

代码语言:javascript
复制
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
EN

回答 1

Stack Overflow用户

发布于 2017-08-30 13:57:02

您可以使用Android Studio 3.0在所有API级别使用try-with-resources:

Android Studio3.0预览版1和更高版本将support for try-with-resources扩展到所有Android API级别的

此外,您还需要在代码块中添加注释@SuppressLint("NewApi"),以便在应用程序接口级别< 19的情况下隐藏警告。但是,在此annotation is not applicable的情况下,您可以忽略警告,构建和运行您的应用程序,即使try-with-resources代码块突出显示为error。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45948628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档