574得票26回答
空参数应该抛出IllegalArgumentException还是NullPointerException?

我有一个简单的属性设置方法,对于这个特定的属性,null 是不合适的。在这种情况下,我一直很犹豫:是抛出 IllegalArgumentException,还是抛出 NullPointerException?从 javadocs 中来看,两者似乎都可以。是否有某种明确的标准?或者这只是其中一种...

551得票36回答
当检索方法无法生成返回值时,应该返回“null”还是抛出异常?

我正在使用Java语言,我有一个方法,如果找到了对象,就应该返回它。 如果没有找到,我应该: 返回null 抛出异常 其他 哪种是最佳实践或习惯用法?

528得票6回答
Nullable<T>.HasValue和Nullable<T> != null有什么区别?

我一直使用Nullable&lt;&gt;.HasValue,因为我喜欢这个语义。然而,最近我在别人的现有代码库上工作时,他们专门使用Nullable&lt;&gt; != null。 使用其中一个的原因是什么,还是纯粹个人偏好? int? a; if (a.HasValue) ...

397得票10回答
在C#中,当您在一个空对象上调用扩展方法时会发生什么?

这个方法被调用时,会传入一个 null 值吗?还是会抛出空引用异常?MyObject myObject = null; myObject.MyExtensionMethod(); // &lt;-- is this a null reference exception? 如果是这种情况,我将永...

395得票5回答
使用空列创建唯一约束

我有一个表格,其布局如下:CREATE TABLE Favorites ( FavoriteId uuid NOT NULL PRIMARY KEY, UserId uuid NOT NULL, RecipeId uuid NOT NULL, MenuId uuid ); 我想...

381得票11回答
NULL、'\0'和0之间有什么区别?

在C语言中,似乎存在着零的不同取值 -- NULL、NUL和0。 我知道ASCII字符'0'的值为48或0x30。 NULL指针通常被定义为:#define NULL 0 或者#define NULL (void *)0 此外,还有一个NUL字符'\0',它似乎也会被解释为0。 这三个值有时...

377得票10回答
在空值上使用不等于 <> != 运算符

请问能否解释一下SQL中以下行为的原因?SELECT * FROM MyTable WHERE MyColumn != NULL (0 Results) SELECT * FROM MyTable WHERE MyColumn &lt;&gt; NULL (0 Results) SELECT ...

364得票18回答
JavaScript中如何检查对象是否存在

我如何在 JavaScript 中验证对象的存在? 以下代码可行:if (!null) alert("GOT HERE"); 但是这会抛出一个错误:if (!maybeObject) alert("GOT HERE"); 错误信息: maybeObject未定义。

353得票14回答
在XSLT中检查一个字符串是否为空或null

如何使用XSL检查一个值是null还是空的? 比如,如果categoryName是空的怎么办?我正在使用一个选择时结构。 例如:&lt;xsl:choose&gt; &lt;xsl:when test="categoryName !=null"&gt; &lt;xs...

347得票22回答
TypeScript从数组中过滤掉null值

TypeScript, --strictNullChecks 模式。 假设我有一个可为空的字符串数组 (string | null)[]。有什么单表达式的方法可以以这样一种方式删除所有 null,使得结果的类型为 string[]?const array: (string | null)[] ...