问题标签 [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.

0 投票
1 回答
478 浏览

java - @NonNullByDefault 返回类型与 'List 不兼容' 从 ExecutorService.shutdownNow() 返回(不匹配的空约束)

我有一个派生自java.util.concurrent.AbstractExecutorService. 我的班级覆盖shutdownNow(). 一切都编译并运行良好。

我加入org.eclipse.jdt.annotation.@NonNullByDefault了课堂。我设法修复了所有错误和警告,除了shutdownNow(). 错误消息说...

返回类型与 ExecutorService.shutdownNow() 返回的“List”不兼容(不匹配空约束)

快速修复没有任何帮助。

这是有问题的代码。

注意: Collections.emptyList() 不是问题。它只是重现相同错误消息的实际代码的简化。

这是代码的图像。

在此处输入图像描述

0 投票
1 回答
748 浏览

java - 如何摆脱 TreeMap 的 Eclipse Neon 中的“Null 类型安全”警告

如何摆脱此示例代码中的警告。

我将 Eclipse Neon 与 Java 1.8 和 org.eclipse.jdt.annotation_2.1.0 一起使用

警告是:

我尝试了@Nullable 和@NonNullable 的几种组合。即使? extends是在类似情况下建议的那样:https ://bugs.eclipse.org/bugs/show_bug.cgi?id=507779

但是警告总是只会移动,但永远不会完全消失。

更新:

我通过使用这一行摆脱了警告:

但我完全不知道为什么。在我看来,我欺骗了验证器丢失了轨道或其他东西,代码真的开始变得丑陋。

完整的新代码:

更新 2 Shorty 粘贴了错误的代码。

0 投票
1 回答
13952 浏览

java - 为什么在运行时检查@Nonnull 注释?

我有一个带有以下签名的函数

当我使用 param 为 null 调用它时,我得到以下异常:

javax.annotation.Nonnull 不应该在运行时检查。

谁实际上抛出了异常,为什么?

PS我从带有Oracle JDK 1.8.0_102的IntelliJ IDEA 2016.3以调试模式运行Tomcat服务器

0 投票
2 回答
1753 浏览

java - 返回类型为 @NonNull 和 Collections 的 Java 泛型

我想在 Java8 中实现一个通用函数,它验证一个集合没有空成员并返回一个带有 @NonNull 注释的类型。

输入类型:T 扩展集合,其中 T+U 可以为空。
结果类型:@NonNull T,带有@NonNull U

对于数组,这看起来像这样:

但是对于集合情况,我不知道如何定义结果类型与输入类型相同,但具有集合和元素类型的@NonNull 注释。
这是我想做的,但它不是有效的语法:

你能帮我吗?

0 投票
3 回答
4485 浏览

c# - 如何将 int 数组转换为可为空的 int 数组?

假设我有一个包含x成员的数组,我想创建另一个具有相同长度 ( x) 和相同整数值的数组:

我不能这样做:

是否有显式转换为可空类型数组或我不知道的东西?

是的,我可以简单地在一个循环中转换每个值,但我问是否已经有一个简单的短方法来做到这一点。

0 投票
2 回答
2083 浏览

flowtype - Flow 中的非 null 和非未定义类型

Flow 定义了所谓的“可能类型”。即?string类似于string | null | void(void是一种值undefined)。

是否有类似一般类型的东西可以具有任何价值,但nullundefined基本上类似于$Diff<$Diff<any, null>, void>if$Diff运算符能够对非对象类型进行操作。

0 投票
3 回答
733 浏览

c# - C# - 在类或结构上重置结构的值

我正在尝试使用 Unity 编写一些脚本,但我在理解 struct 的工作原理方面遇到了一些问题。

从代码库开始:

首先,我尝试制作一些功能来选择/取消选择..

我得到了这个错误:

无法将 null 转换为,Hero因为它是值类型

我阅读了很多关于 C# 和 Unity 脚本的内容,答案是:

struct 不能为 null,就像 int 不能为 null,float 不能为 null - 它们都是值类型

但 ?什么是真正的解决方案!?我使用了两个丑陋的解决方案来避免这种情况:

解决方案#1我可以在使用属性public bool hasSelected之前放置一个并始终测试这个。selected

解决方案 #2如果长度为 0 或 1,则创建一个List<Hero> selected而不是简单的并处理。Hero

是否存在更好的解决方案,更干净?!

奖励问题:如何创建一个基于测试返回单个英雄的函数,我最好的(丑陋的)解决方案:

0 投票
1 回答
3273 浏览

jvm - 在 Kotlin 中,我如何惯用地访问可为空的嵌套映射值,或返回默认值?

快速 Kotlin 最佳实践问题,因为我无法从文档中真正找到最佳方法。

假设我有以下嵌套地图(为此问题明确指定的类型):

下面的模式还能再简洁点吗?

换句话说,如果用户已知并且他们有该小部件类型的条目,我想返回用户小部件计数,否则为零。特别是我看到我[]最初可以使用语法来访问地图,但是在使用?..

0 投票
2 回答
1015 浏览

java - 将可选成员变量标记为 NonNull

我班级的 String 成员变量之一是可选的。用 Lombok 注释 @NonNull 标记它是否有意义?

如果成员变量是 Map 而不是 String,我想问同样的问题。答案会改变吗?

0 投票
1 回答
2022 浏览

annotations - 在 Java 中为 Kotlin 编译器注解类型参数

在Java中,我有以下方法:

在 Kotlin 代码中,此方法的返回类型为Optional<Foo!>!. 通过使用@Nonnull注释,我可以将其缩减为Optional<Foo!>(即只有Foo类型不再被空检查)。

有没有办法注释方法以使 Kotlin 编译器正确地对返回值进行空检查?