gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:30:21 25 4
gpt4 key购买 nike

我有 C#.net 背景,每当我有一个字符串时,我都会将它声明为 String.Empty现在我正在查看一位同事的 Java 代码,他用这样的方法声明了他的字符串:

String myStr = null;

我不喜欢它,更糟糕的是,他在“IF” block 中为这些字符串赋值,它可能合格也可能不合格,然后在方法结束时他调用了 myStr.length() 在他们身上。

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

最佳答案

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

在 Java 中 String s = "" 不分配任何内存,因为 JVM 将驻留字符串文字,所以甚至没有性能差异(即使有,它将是过早的优化)。

关于java - 将字符串定义为 Null 或定义为空字符串更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730339/

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