【问题标题】:getElementsByTagName Returns zero not null whygetElementsByTagName 返回零而不是 null 为什么
【发布时间】:2021-09-13 21:38:39
【问题描述】:
NodeList myNodes = myDoc.getElementsByTagName("dne");

myDoc 中不存在元素“dne”。

  • 然而,myNodes 不是 null,为什么?如果 dne 不在 myDoc 中,则 myNodes 应为 null。

我错过了什么?

【问题讨论】:

  • 为什么您期望返回null 而不是空的NodeList
  • 我猜几乎所有语言/框架的行为都是相似的:函数应该返回对象,但没有找到它 --> null。函数应该返回列表但什么也没找到——>空列表。某些语言/框架可能提供Optional 功能

标签: java xml dom nodes


【解决方案1】:

myNodes 应该为空。

为什么? https://docs.oracle.com/javase/7/docs/api/org/w3c/dom/Element.html#getElementsByTagName(java.lang.String)

返回:匹配元素节点的列表。

如果列表为空,它不会返回 null。它只是返回一个空列表。如果长度为 0,则说明没有匹配的节点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多