加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 将字符串定义为Null更好或为空字符串

发布时间:2020-12-15 05:09:09 所属栏目:Java 来源:网络整理
导读:我来自C#.net背景,每当我有一个字符串时,我就把它声明为String.Empty 现在我正在查看来自同事的 Java代码,他已经在这样的方法中声明了他的字符串: String myStr = null; 我不喜欢它,更糟糕的是,他在“IF”块中为这些字符串赋值,它可能甚至不符合条件,然后在
我来自C#.net背景,每当我有一个字符串时,我就把它声明为String.Empty
现在我正在查看来自同事的 Java代码,他已经在这样的方法中声明了他的字符串:

String myStr = null;

我不喜欢它,更糟糕的是,他在“IF”块中为这些字符串赋值,它可能甚至不符合条件,然后在方法结束时调用myStr.length()在他们.

所以我的问题是Java中的首选方式是什么?你认为将它们定义为String.Empty更好还是将它们保留为null并在它们之前调用.length()之前进行空检查?

解决方法

通常,使用空值是一个坏主意,特别是如果它们从方法返回或传递给另一个方法.使用 Null Object pattern更好,在字符串的情况下,Null对象是一个空字符串.通过始终如一地避免空值,获得NullPointerException的可能性变小,代码变得更具可读性(这在 Clean Code第7章,第110-112页中详细讨论).

在Java String中,s =“”没有分配任何内存,因为JVM将实现字符串文字,因此甚至没有性能差异(即使有,也会是一个过早的优化).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读