gpt4 book ai didi

java - java.awt.Component.getBounds() 可以为 null 吗?

转载 作者:行者123 更新时间:2023-12-02 05:45:11 26 4
gpt4 key购买 nike

我无法在规范中或通过搜索找到答案。有人看到这是空的吗?我可以在不检查 null 的情况下使用属性吗?

最佳答案

如果您正在谈论 AWT 的当前 Oracle/OpenJDK 实现,则 Component.getBounds() 无法返回 null,因为它总是创建一个新的 Rectangle 对象。源代码为here .

标准 AWT 类都没有覆盖这些方法(据我所知)。

理论上,有人可以子类化 AWT 组件类并重写 getBounds() 以返回 null,但这将是……反常的。

<小时/>

我的建议是假设它是非空的,并将任何(假设的)NPE 视为错误。

<小时/>

我不同意应该在所有可能的地方防范 NPE 的理论。最好是让它们发生并解决它们。另一面是,如果状态值具有明确的含义,则只应允许状态值为 null。避免出现“优化”或因为您忘记初始化它们而可能为空的情况。并编写良好的单元测试,以便尽早发现您的错误。

关于java - java.awt.Component.getBounds() 可以为 null 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24138201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com