Java中一致的Null值处理

null值的处理通常被认为是Java的薄弱环节,原因有很多。
最常提及的问题是著名的问题NullPointerException,尽管没有明确的理由说明为什么这是一个问题。毕竟,这只是问题的征兆,而不是问题本身。
实际问题更深。那些具有使用C或C ++编写代码的经验的人都非常了解此问题。在使用C / C ++进行编码时,工程师应始终牢记与访问安全,未定义行为,内存分配,对象复制/移动等有关的无数细微差别。所有这些众多的细节会产生持续的“压力”,消耗宝贵的工程师大脑资源,并导致开发速度降低。即使是核心的C / C ++支持者也不能否认这一事实。
nullJava中的值也存在类似的问题。
Java通常被认为是一种冗长的语言。确实如此。这是其明确性的缺点。Java中几乎所有的意图都可以(通常是)用代码显式表达。通过添加一些额外的文本,我们又获得了可立即访问的上下文,在阅读Java代码时不需要将其携带在头部。这些null值违反了此规则。他们不会在代码中显示自己。
这些null值可能由于各种原因而出现。它可以是默认初始化,从某些方法返回的值,甚至是显式分配的null值。请记住,有时null可能会出现,请检查方法文档或代码中是否有返回此类值的可能-所有这些都会产生与上述C / C ++非常相似的“压力”。
如何解决这个问题?我们如何消除影响生产率的恒定“压力”?
当然,有多种解决方法。
我们可以:
添加@NotNull(或类似)注释。除了添加一些(假)感觉null值以某种方式处理之外,基本上什么都不会做。
建立严格的规则并检查可能存在的每个值null。这是一个可行的解决方案,但是以无数null检

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值