如何检查对象和嵌套字段是否为空[重复]

2023-11-26

我有一个对象,我想检查该对象或嵌套字段是否为空。我想打印这个网络字段,但我应该检查某个级别是否有空,否则我会得到空指针异常。

我知道我可以这样做:

if( object != null && object.A != null && object.A.B != null && object.A.B.C != null && object.A.B.C.D != null) { doSomething( object.A.B.C.D);}

但它那么长。你知道更好的检查方法吗?


在 Java 8 中可选是一个好方法。

String value = foo.getBar().getBaz().toString();

如果是可选的,它将是:

String value = Optional.ofNullable(foo)
                       .map(Foo::getBar)
                       .map(Bar::getBaz)
                       .map(Baz::toString)
                       .orElse("EmptyString");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查对象和嵌套字段是否为空[重复] 的相关文章

随机推荐

  • Firebase 无法与 Firebase 服务器通信

    我正在使用 Firebase PhoneAuth 并收到以下错误 由于配置无效 Firebase 安装无法与 Firebase 服务器 API 通信 请更新您的 Firebase 初始化流程 并在初始化 Firebase 时设置有效的 Fi
  • 如何使用 Javascript 获取表的当前行索引?

    我可以在 Javascript 中获取表的当前行索引吗 我们可以删除具有当前索引的表行吗 rowIndex 属性返回表中行的位置 function myFunction x console log Row index is x rowInd
  • 在 pandas 中转换读取 csv 的数据

    我正在将 csv 文件读入 pandas 数据帧 csv 文件包含多个列 列 A 包含字符串 20 989 98766 加载文件时是否可以只读取字符串的最后 5 个字符 98766 df pd read csv test data2 csv
  • 延迟解析非常大的 xml

    我有一个巨大的 xml 文件 40 GB 我想从中提取一些字段而不将整个文件加载到内存中 有什么建议么 基于 SAXParser 教程的 XMLEventReader 快速示例here 由 Rinat Tainov 发布 我确信它可以做得更
  • Google 应用程序脚本 - onChange 或 OnEdit

    我有一个谷歌应用程序脚本 可以更改电子表格中 onLoad 事件中 A1 中的值 这会引发一连串的变化 当单元格 F200 由于对单元格 A1 进行编辑而发生更改时 我想检测该事件 如何设置触发器来检测此更改 当用户打开他或她有权编辑的电子
  • IOS的文件系统加密?

    我知道在Mac OS上 我们可以使用Macfuse在用户空间中编写文件系统 我们可以创建一个盒子加密 我不知道IOS上有一个框架 像FUSE Macfuse这样的库 我可以编写我的文件系统来加密 解密文件 可能安装在目录 文件夹上 谁能给我
  • DocumentDb 错误“跨分区查询仅支持聚合的‘VALUE ’”

    我很困惑 我将以下 SQL 查询发送到我的 documentDb 实例 query SELECT SUM c clicks SUM c opens MAX c ts COUNT c FROM c WHERE c clicks gt 0 我收
  • 如何使用 Javascript 找出两个日期之间的差异

    我想获得特定日期的扩孔天数 所以我试图用今天的日期检测特定日期 但这在这里不起作用是我的code如果日期是下个月 27 我怎样才能得到剩余的天数 var date2 new Date var date1 27 5 2012 var diff
  • 从 CMRotationMatrix 获取俯仰、偏航、滚转

    我有一个 CMRotationMatrix rot 我想从矩阵中获取俯仰 偏航 滚转 我有什么想法可以做到这一点吗 Thanks 使用四元数比使用欧拉角更好 可以使用以下公式从四元数导出横滚角 俯仰角和偏航角值 roll atan2 2 y
  • 如何从c中数字的最高有效位开始获取不同的数字?

    我正在解决一个问题 其中给出一个正整数 并且我必须用文字显示它 例如 如果一个数字是2134输出应该是 two one three four 如果我使用模运算符并使用递归技术 我会从最低有效数字开始得到数字 即 four three one
  • 奇怪:按下按钮后 WinForms 窗体自动关闭

    我的应用程序是 WinForms NET 4 C 其中一个表单在按下按钮后会自动关闭 该表单确实有默认的 接受 和 取消 按钮 但这些按钮未被触及 有一个 ButtonTestConnection Click 事件 当单击该事件时 它会完成
  • 未解析的外部符号“public:__thiscall [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我已经看过 我知道还有其他答案 但似乎没有一个答案能给
  • 是否可以通过 VBA 检查文件是否存在于共享点站点上?

    我正在尝试编写一个 Excel 2010 宏 该宏在某些时候必须确认公司共享点网站上是否存在某个文件 doc pdf 该文件可通过 Internet Explorer 访问 所有权限均授予用户 我有该文件的直接链接 我不需要打开它 只需检查
  • 将实时镜头从摄像机流式传输到 Unity3D

    假设我有一个无线摄像机 我想将其实时流式传输到统一 有办法实现这一点吗 奖励问题 广角相机怎么样 180 甚至 360 如果这是我想要与之交互的镜头 那么延迟会是一个多大的问题 除了常规镜头之外 还可以发送更多数据 例如深度感知 使用深度感
  • 从范围中选择但排除某些数字[重复]

    这个问题在这里已经有答案了 是否可以从给定范围 1 90 中选择一个随机数 但排除某些数字 排除的数字是动态创建的 假设它们是 3 8 和 80 我已经设法创建随机数生成器 但无法识别任何可以满足我的要求的函数 Random r new R
  • C#支持多重继承吗?

    我和一位同事就多重继承发生了一些争论 我说不支持 他说支持 所以我想还是去问问网上那些有头脑的人吧 抱歉 您不能从多个类继承 您可以使用接口或一个类和接口的组合 其中接口应遵循签名中的类名称 interface A interface B
  • “ls”命令在 Linux/Unix 中如何工作?

    我想确切地知道 Is 命令在 Linux 和 Unix 中是如何工作的 据我所知 ls forks exec 到 Linux Unix shell 然后获取输出 当前文件树的输出 例如 home ankit 我需要更详细的解释 因为我不确定
  • 如何使用 Array.sort 按特定元素对结构数组进行排序

    很简单 我有一个这样的结构 struct bla string name float depth 我有一个 bla 数组 我想按深度排序 最大深度优先 代表应该做什么 返回 我找不到任何具体的例子 你可以在这里找到一个例子 我将如何对结构数
  • 获取布尔数组中至少 n 个连续 False 值的第一个块的索引

    我有一个numpy布尔数组 w np array True False True True False False False 我想获得第一次的索引n at least错误的值 例如这里 n at least 1 gt desired in
  • 如何检查对象和嵌套字段是否为空[重复]

    这个问题在这里已经有答案了 我有一个对象 我想检查该对象或嵌套字段是否为空 我想打印这个网络字段 但我应该检查某个级别是否有空 否则我会得到空指针异常 我知道我可以这样做 if object null object A null objec