当前位置: 首页 > 知识库问答 >
问题:

尝试空检查时出错

颛孙麻雀
2023-03-14

在执行某个操作之前,我正在检查 null,但我遇到了一些问题。以下是代码:

if (c != null && c.size() != null) {
    if (c.size() > 0) {
        return (Application) c.toArray()[0];
}

我在点 c.size() != null 处得到一个“运算符 != 未定义参数类型int,null”。我知道 size 方法的返回类型是整数,这就是我收到此错误的原因吗?希望有人能提供建议。谢谢。

共有2个答案

万修为
2023-03-14
匿名用户

首先,c.size() 的结果是一个整数。int 是基元,不能为。只有对象可以为

其次,<code>c。size()永远不会返回null,因此检查

c.size() != null

是多余的。

注意:每个基元类型都有包装类。例如

Integer i = 4;
i = null; // valid

赋值将是有效的,因为i是类整数的实例。

谭伟
2023-03-14

int是一种原始类型,不是Object,因此不是可以null的引用。在前面的答案中阅读更多信息

然后在您的代码中,只需删除该条件即可。而且最好使用 c.isEmpty() 而不是 c.size()

您的代码如下所示:

if (c != null && !c.isEmpty()) {
    return (Application) c.toArray()[0];
}

 类似资料:
  • 我得到这个错误: InvalidRequest:服务器错误:code=2200[无效查询]消息="Java源代码编译失败: 第1行:运算符!=对于参数类型long, null 第1行:运算符!=对于参数类型long, null未定义" 而在手册中,这些比较似乎是可以的(例如这里)。我使用的是Cassandra 4.0.3(通过docker图像)。

  • 我已经按照自述文件中概述的说明进行了操作,但是我无法运行Figma的拼写检查扩展。 运行没有问题。然而,当试图运行时,我在控制台收到以下输出:控制台错误。

  • 我试图从XML类型列中检索某个节点。 我的代码在本地环境中的Tomcat中运行良好,但当我创建EAR文件并将其部署到WeSphere Application Server中时。我得到一个错误: 引起:java.lang.NoClassDefFoundError:oracle.xdb.XMLType 在oracle.jdbc.driver.NamedTypeAccessor.getOracleObj

  • 我试图从我的SQLite数据库获取我的检查文本视图状态,但它正在崩溃的应用程序。 下面是实现的代码: 它给出了这个错误: java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.WoodlandLoverter/com.example.WoodlandLoverter.levelOneActivity}:android.d

  • 我尝试以下代码,但它显示错误消息: 错误消息:- 处理该命令时发生未知的服务器端错误。(警告:服务器未提供任何stacktrace信息)

  • 问题内容: 我有以下活动: 我得到一个NPE,当我尝试调用的,我猜这是因为是一个独立的片段,我有作为之内: 但是,我不确定如何解决此问题,以便可以找到loginButton ID。我以前没有使用过片段,所以我意识到我可能正在使用它们/错误地实现了它们。包含在几个按钮,并没有什么,但一个。 问题答案: 从片段编写代码以初始化按钮,因为您的按钮进入片段布局而不是活动布局。 而从删除登录按钮相关的代码的