jjzjj

java - Android: NullPointerException 尽管@NonNull

我正在使用注释来确保参数不为空,假设这会引起编译器检查。public@NullableApplicationAccountaccountForKey(@NonNullStringkey){returnaccounts.get(key);}但是,通过运行这段代码,我在这一行得到了NullPointerExceptionjava.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:883)那么注解有什么意义呢?如果我像这样写额外的支票,就更加模糊了returnkey!=null?accounts.get(key):nul

android - @NonNull 注释在 Android Studio 中不起作用

importandroid.support.annotation.NonNull;public@NonNullResulthandleFollowForwardResult(@NonNullResulttempResult,@NonNullResultoldResult){returnnull;}没有给出任何错误或警告?注释的重点不是检查这个吗? 最佳答案 这适用于我的AndroidStudio0.8.11副本。尝试以下操作:如果您运行的是旧版AndroidStudio,请进行更新。确保您的Inspections>Constantc

android - Android Studio 更新后无法解析符号 'NonNull'

我最近更新了AndroidStudio。之后似乎无法再解析一些支持注解,例如@NonNull或@Nullable。它在更新之前确实工作得很好。然而,一切仍在编译中,我能够执行代码,但它仍然在我的导入中显示符号无法解析消息。到目前为止我已经尝试过的:在build.gradle(模块:应用程序)中包含依赖项:compile'com.android.support:support-annotations:27.0.0'我已使缓存失效并重新启动清理和重建项目(编辑)同步Gradle我不知道为什么这不起作用,非常感谢您的帮助。 最佳答案 As

ios - 属性属性 'nonnull' 和 'weak' 是互斥的

最近我将我的Xcode升级到版本7-XCode7.0。现在我将此消息发送到我的每个IBOutlet:@property(nonatomic,weak,nonnull)IBOutletUITableView*tableView;属性属性“nonnull”和“weak”是互斥的我能做什么? 最佳答案 weak的全部要点是当对象被释放时属性变为nil。nonnull的全部意义在于该属性永远不会是nil。这就是您不能同时应用两者的原因。使您的属性strongnonnull或只是weak。 关于i

ios - `[UIView initWithFrame:]` : nullable or nonnull? 的冲突文档

使用CLANG_ANALYZER_NONNULL(即-Xclangnullability),我得到“Nullisreturnedfromafunctionthatexpectedtoreturnanon-nullvalue":使用Xcode7.3和iOS9.3文档,我检查了initWithFrame:并且它可以返回nil:但是UIView.h用NS_ASSUME_NONNULL_BEGIN封装了所有东西,所以我们可以解释如下:作为:-(nonnullinstancetype)initWithFrame:(CGRect)frameNS_DESIGNATED_INITIALIZER;所以文

objective-c - _Nullable 和 _Nonnull 是否对 Swift 互操作以外的任何东西有用?

如果Objective-C编译器认为您可能将nil传递给标有_Nonnull的参数,它真的会警告您吗?或者它仅仅是对在Swift和Objective-C之间转换以更好地处理Swift可选值的任何工具的提示? 最佳答案 就其本身而言,只有在极其微不足道的情况下才会出现警告:当您将nil传递给接受_Nonnull值的函数时。NSObject*_Nonnulltest(NSObject*_Nonnull){test(nil);//warningNSObject*_Nullablef=nil;test(f);//nowarning(pass

java - 在 void 方法上使用 @NonNull 有什么作用?

Lombok有什么意义?方法的注解@NonNull?classMyClass{@NonNullvoidrun(){//codehere}}我们是否检查了类MyClass的实例(MyClassobj==null)? 最佳答案 对于void方法,没有意义。对于有返回类型的方法,说明它不会返回null:@NonNullStringfoo(){//IpromiseIwon'treturnnullherre!}根据tutorial判断,看起来它不会在方法内生成检查以确保它不是null,但它告诉任何调用者他们实际上可以期望返回一个非null值。

java - @Nonnull 和 Objects.requireNonNull 有什么区别

以下两个代码片段有什么区别。publicIntegergetId(@NonnullSomeObjectobj){//dosomestuffreturnid;}publicIntegergetId(SomeObjectobj){Objects.requireNonNull(SomeObject,"SomeObjectisnull");//dosomestuffreturnid;}它们之间的显着区别是什么。在这些情况下进行空检查的正确方法是什么。 最佳答案 两者是互补的:@Nonnull注解记录了obj必须是非空的事实,而Objects

ios - NS_ASSUME_NONNULL_BEGIN 宏

我正在学习来自teamtreehouse的在线教程,其中一个步骤是为我的数据模型创建一个NSManagedObject子类。当我这样做时,代码会在开头和结尾自动生成一个类和一组宏:NS_ASSUME_NONNULL_BEGINNS_ASSUME_NONNULL_END我在网上搜索,但找不到关于这些人在这里做什么的任何文档。顺便说一下,它们是在headerNSObjCRuntime.h中定义的知道它们的用途是什么吗? 最佳答案 这是一个方便的宏,可以避免您在标题中键入nonnull。来自Swift博客详细介绍了如何将新的安全功能合并回

flutter - FirebaseAuthPlugin.java:9:错误:找不到符号导入androidx.annotation.NonNull;

注意:opt/sdk/flutter/.pubcache/hosted/pub.dartlang.org/cloud\ufirestore-0.12.1/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/cloudfirestoreplugin.java使用或重写了不推荐使用的API。注意:使用-xlint重新编译:有关详细信息,请取消预测。注意:opt/sdk/flutter/.pubcache/hosted/pub.dartlang.org/cloud\ufirestore-0.12.1/android