问题标签 [non-nullable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Getting 'mismatching null constraints' error when implementing Map.entrySet (Java8, Eclipse)
I get the error...
...when implementing a Map
and overriding Map.entrySet
like this:
The package org.abego.util
defines the default nullness to be @NonNull
:
The only way I found to get rid of the error was to 'remove the default nullness annotation' for entrySet
using an @NonNullByDefault({})
annotation:
While this does work I am wondering if this is the correct way to fix the error.
(I am using Eclipse 4.5 (Mars) and jdk1.8.0_60.)
database-design - 如何让 Microsoft SQL Management Studio 2014 默认列在创建或设计时不可为空?
我是 Visual Studio Management Studio 2014 的新手。
在我的数据库中,我的绝大多数数据是一个 Id、一个位、一个 nvarchar(x) 或奇怪的必要时间戳。大多数列都是 NULLABLE,除了结束日期。
我并不是说 NULLABLE 没有用处,因为我确实有一些可选的二进制图像和结束日期。只是我的 99%+ 的列不应该为空。
但是,对于我创建的所有这些 NOT NULL 列,我必须取消选中 NULLABLE 标志。有没有办法将管理 Studio 中的默认值更改为 NOT NULL?
我也很好奇为什么微软选择 Nullable 作为默认值,这对我来说似乎有点奇怪。
到目前为止,它可以为我节省大约 500 次点击,我期待更多。
感谢
罗宾
java - 在 Android Studio 中使用 @NonNull 注解的正确方法
我想@NonNull
在 Android 中使用注释,但我想不出正确的方法。我建议你这个例子:
所以当我打电话doStuff(null)
给IDE时会给我一个警告。问题是我不能依赖这个注释,因为就像这个问题指出的那样,它们不会传播很远。所以我想对我的方法进行空检查,如下所示:
但是,假设 IDEs!=null
会警告我这s==null
总是错误的。我想知道这样做的最佳方法是什么。
我个人认为应该有一个这样的注释@ShouldntBeNull
,只检查并警告 null 没有传递给它,但在检查值为 null 时不会抱怨。
java - 模拟一个类将空值分配给@NonNull 字段(Android)
我正在使用 Android SDK 和 junit4 + Mockito 进行单元测试。假设我的应用中有这样的课程:
而且我还有一个使用 Mockito 的单元测试,如下所示:
这个测试实际上在 "container.add("test_value");" 行失败了 因为mock(Container.class)创建了一个类,其中values字段实际上设置为 null,所以addValue()方法中的values.add( value)会抛出 NPE。我可以在addValue()中添加一个空检查来解决这个问题,但这似乎很荒谬,因为值已经被声明为非空。
有什么方法可以让 Mockito 尊重 @NonNull 注释并正确初始化该字段?
objective-c - 我们能否确保`+ (nonnull instancetype)sharedInstance;` 的可空性?
这是一个关于如何优雅地规避init
in NSObject
class 的可空性的问题。
所以这是一个经典的objective-c实现:
但现在我想将其声明为nonnull
,如果可能的话:
不幸的是,init
返回一个nullable instancetype
值。我应该NSAssert
在调用后添加一个或其他内容init
吗?
我注意到有些人甚至将价值观记录nonnull
为现实nullable
。那有意义吗?
我是否应该大胆地在NS_ASSUME_NONNULL_BEGIN
所有地方简单地添加,而不真正确保值是nonnull
?
objective-c - 目标 C 到 Swift 非空转换
我从 Objective C 转换了一些代码。
Swift 转换器产生
然而,非空值不被 swift 识别。这也应该是一个覆盖函数。
我相信它应该沿着
但它带来了一个错误。Method 不会覆盖其超类中的任何 Method。我不应该需要删除覆盖,如果我这样做,它会与 Objective C 导入库中的原始文件冲突。
你能帮忙吗?
nullable - 在 Kotlin 中,处理可空值、引用或转换它们的惯用方式是什么
如果我有一个可为空的类型Xyz?
,我想引用它或将其转换为不可为空的类型Xyz
。在 Kotlin 中这样做的惯用方式是什么?
例如,这段代码是错误的:
但是如果我先检查 null 它是允许的,为什么?
假设我确定它确实是 never ,我如何在null
不需要检查的情况下更改或处理一个值?例如,在这里我从一个我可以保证存在的映射中检索一个值,并且结果is not 。但我有一个错误:if
null
get()
null
该方法get()
认为该项目可能丢失并返回 type Int?
。因此,强制值的类型不可为空的最佳方法是什么?
注意: 这个问题是作者有意编写和回答的(Self-Answered Questions),因此常见的 Kotlin 主题的惯用答案出现在 SO 中。还要澄清一些为 Kotlin 的 alpha 编写的非常古老的答案,这些答案对于当今的 Kotlin 并不准确。
objective-c - 使用非空时没有警告?
使用这样的代码:
我不应该得到编译器警告吗?我没有收到任何警告,这似乎使整个可空性的东西看起来毫无用处?
c# - 无法将不可为空的类型转换问题vb.net to c#
我复制了一段用 VB.Net 编写的遗留代码,当转换为 C# 时,它产生了以下内容:
它抛出一个错误,指出它无法转换,因为它是不可为空的类型。SSAC 的代码如下:
在 VB.Net 中,这个函数如下:
而 SSAC 类如下:
如何更新 C# 代码以修复此错误?