问题标签 [null-check]

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 投票
3 回答
1610 浏览

javascript - Javascript null 检查未按预期工作

我使用 AngularJS 作为我的框架,还连接到 web 服务来获取一些 JSON 数据。我有以下代码:

现在,当 HTTP 调用返回时,状态仍可能为 200:OK,但它返回的对象可能为空,例如在用户提供错误用户凭据的情况下。所以我期望在这种情况下发生的是,如果对象不为空,它将打印出“成功登录!” 然后打印出对象。

但是,现在发生的事情是我使用了一些假凭据,因此 web 服务返回 null。但仍然是“成功登录!” 被打印,然后在打印“返回的数据:null”之后......这没有意义。如果数据为空,它甚至不应该出现在那个代码块中?

0 投票
0 回答
77 浏览

java - 在 Java 中检查 null 的最佳方法是什么

当我们需要检查对象是否为空时,我们使用x == null;

但我在少数地方看到使用null == x而不是x == null.

那么有什么不同

为什么是这样做的主要原因。这是对性能的影响。

0 投票
4 回答
1422 浏览

java - 当用户不输入值时如何停止程序崩溃?

所以基本上我有问题。当用户在未输入值的情况下按下计算按钮(我正在制作计算器)时,应用程序会崩溃。我希望它显示一条消息,但我不知道如何。(更新)

下面的代码是我遇到问题的地方

这是我能想到的最好的,但它不起作用。

这是 LogCat(更新)

0 投票
2 回答
94 浏览

java - 对两个实体字段进行空检查

我正在开发一个 JAVA EE 应用程序。我正在使用 itext 创建一个表单。这将被保存为 pdf 文件。我有两个字段(身份证号和护照号)。我目前正在努力对它们执行空检查。例如,如果身份证号码字段为空,则检查护照号码字段是否为空。如果两者都为空,则显示文本“未检测到 ID 号”。

身份证号码和护照号码是字符串类型。

这是我目前的代码。

0 投票
3 回答
4685 浏览

java - 用于测试对象是否为空的通用代码?

有人可以帮我提供一个通用的优化代码来测试空对象吗?我基本上正在寻找的是一种方法,它可以将任何对象作为输入,也可能是路径并返回一个布尔值,指定目标对象是否为空。

像这样的东西:

路径类似于:A.getB().getC()。. .

所以 A 作为对象传递,isNull方法首先调用getB()检查返回的对象是否不是null然后调用getC()等等。

0 投票
1 回答
2867 浏览

c# - 如何解决空检查语句中的空引用异常?

我在布尔方法中添加了一个空属性检查,以防止在 SelectedCustomer 属性中的任何字符串字段为空时返回 true。

问题是在我将任何数据输入到 SelectedCustomer 模型之前,我的 bool 方法是从构造函数中调用的。这会导致 Null 引用异常。

从我在语句中设置的断点可以看出,“{“对象引用未设置为对象的实例。”}”是错误。在我从数据网格中选择客户之前,不会初始化 selectedCustomer 属性。

我的问题是,我怎样才能以这种方式执行空检查而不会导致 NRE?

这是我执行空检查的 CanModifyCustomer 布尔方法:

它在我的按钮命令中作为参数传递:

这是执行空检查的 SelectedCustomer 属性:

0 投票
1 回答
837 浏览

jsf - h:selectOneRadio is passing null character instead of null value

In my JSF pagecode, I have something similar to the following:

In my pagecode backing bean, I have something like the following:

}

The behavior I expect is:

  1. The page loads. The radio button is not defined to an initial value, so neither Yes nor No is selected. However, since required="true", the user will get a validation error if they leave it blank (and they do).
  2. The first time the page loads, #{pagecode.showForm(attendingRadio.value)} is called, I would expect that a null object would be passed, and showForm would return false.

After doing some troubleshooting, I determined that what is actually happening is that instead of null object being passed, i.e. equivalently showForm(null), I am instead getting the equivalent of showForm(new Character('\u0000')); it passing the Unicode character for null instead.

Is there a way to make JSF pass the Java null object instead of a null character when my h:selectOneRadio does not have a value selected? I am using Apache MyFaces JSF 2.0 on WebSphere Portal 8.0.

As a side note, I did try to add the following to my web.xml, and it unfortunately did not help:

0 投票
3 回答
503 浏览

c# - 如何防止“对象不能从 DBNull 转换为其他类型”?

我有这段代码,我在 ISTM 中防御性地编码以防止分配空值:

...但我得到,“对象不能从 DBNull 转换为其他类型”在最后一次尝试分配的特定迭代中(到 pauv.Week2Usage)。

该字段确实出现在类中:

...并且代码对于大多数记录都运行良好。

什么会导致此异常,我该如何防范?

0 投票
0 回答
86 浏览

java - 将数据重组为嵌套映射 - 覆盖放置以避免空值?

我需要在 YAML 中转储一些复杂的 Java 对象列表。为了获得所需的结构,我首先将它们转换为嵌套列表和映射。所以它有点像:

或者在 Eclipse 调试器视图中 [...,...] 是一个列表, {name:value,name:value} 是一个映射,它看起来像 [{item1={name:value, name:value[{anotherlist} ]}项目2=...]。乱七八糟,但没那么长,也没那么难理解,就是乏味。

问题是这些块中有一些是可选的,所以我得到了一些空列表或空值:

这很混乱,无法再次读取。而且我无法检查更高级别的列表或地图之一,因为它们可能包含空列表、空地图或空值。我不想一遍又一遍地写 if (value != null && !value.isEmpty) 。正如我所看到的,我有 3 个选项:

  • 我可以在技术上修改模板,但如果我不需要,我不想搞砸。之后我可以检查整个构造并取出所有空值和空构造。但是手动编写会很长而且嵌套和递归使用 if (value.isList) 和 if (value.isMap) 一直听起来也不是很好。
  • 我可以写

    /li>

方法。这就是我所做的,但它看起来非常 unjavaish。

  • 如果我可以将这些方法添加到该类中的列表和地图中,那就太好了。或覆盖/重载 put/add 方法。我可以编写单独的类(或内部类)来扩展通常的映射和列表,这只是另一种方法。但这听起来有点过分。

我对 Java 或一般编程还没有那么丰富的经验。你怎么看?

0 投票
1 回答
63 浏览

c# - 检查字符串对象数组的空值

我认为这是一个相当基本的问题,但要么我的大脑还没有醒来,要么我只是很厚!

我有一个类,它具有下面定义的字符串集合的属性(名称已简化)

我想在保存之前检查是否有任何属性实际上具有值,所以我目前正在做这样的事情......

只是打字感觉不对!肯定有更好的办法...