![]() |
1
200
特别是考虑
我相信在你合适的班级里提供一个常数是完全合理的:
这样至少可以明确表示您想要一个空字符串,而不是忘记在IDE或类似的东西中填充字符串。 |
![]() |
2
153
|
![]() |
3
30
最终你应该做你认为最清楚的事情。大多数程序员认为“”表示空字符串,而不是有人忘记输入任何内容的字符串。
这听起来像是你在试图解决一个问题,而这个问题在15年前语言被设计出来时就已经解决了。 |
![]() |
4
9
如果你真的想String.EMPTY 常量,您可以在项目中创建名为“Constants”的实用程序静态final类(例如)。这个类将维护你的常量,包括空字符串。。。
等。 |
![]() |
5
9
对称性 没有它,API就很难用于人类。众所周知,早期的javasdk忽视了这一规则,现在已经太晚了。下面是我脑海中的几个例子,请随意插入您“最喜欢”的例子:
|
![]() |
6
8
apachestringutils也解决了这个问题。 其他选项的缺点:
被授予的StringUtils是另一个可以拖拽的库,但是它工作得非常好,并且节省了大量的时间和检查空值或优雅地处理NPE的麻烦。 |
![]() |
7
4
所有这些
如果你真的想
|
![]() |
8
4
为了补充Noel M所说的,你可以看看这个问题,这个答案表明常量被重用了。 http://forums.java.net/jive/message.jspa?messageID=17122
|
![]() |
9
3
我知道每次我键入字符串文本“”时,字符串池中引用的都是同一个字符串对象。
还是语言创造者根本不同意我的观点?
|
![]() |
10
2
回答晚了,但我认为这给这个话题增添了新的内容。 以前的答案都没有回答原来的问题。有些人试图证明缺少常数是合理的,而另一些人则展示了我们可以处理缺少常数的方法。但是,没有人为常数的好处提供令人信服的理由,因此它的不足仍然没有得到适当的解释。 常量很有用,因为它可以防止某些代码错误被忽略。
OTOH是一个名为EMPTY的库常量,如果遇到同样的错误,它将为EMPTY之类的对象生成一个编译器错误。 定义自己的常量更好。有人仍然可以错误地更改它的初始化,但是由于它的广泛使用,这种错误的影响比单个用例中的错误更难被忽视。 这是使用常量而不是文字值的一般好处之一。人们通常认识到,对一个在许多地方使用的值使用一个常量可以让您在一个地方轻松地更新该值。不太常被承认的是,这也可以防止该值被意外修改,因为这样的更改会到处显示。所以,是的,“”比空的短,但是空的比“”更安全。
|
![]() |
11
0
有趣的是,它有多老了,现在还没有像C#那样的好的字符串类。 我做Java已经有几年了,现在我还做c#。当我使用Java时,我错过了c语言对于字符串的完整性。 主要是我想念string.Empty 以及string.IsNullOrEmpty(字符串)。 我也很怀念小写字符串类型。 2020年及以后的快乐编码!! |
![]() |
12
0
似乎这是显而易见的答案:
|
![]() |
13
-18
对于那些声称
每次你做类似myVariable=“”的事情时;您正在创建对象的实例。 如果Java的String对象有一个空的公共常量,则该对象只有一个实例“” 例如:-
10(11包括String.EMPTY)指向1个对象的指针 或:-
10个指针指向10个对象 这是低效的,而且在整个大型应用程序中,这可能非常重要。 也许Java编译器或运行时足够有效,可以自动将“”的所有实例指向同一个实例,但可能不是这样,而且需要额外的处理才能确定。 |
|
user29759326 · 如何返回递归函数中的最后一个值? 6 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 6 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 6 月前 |
![]() |
rudraraj · java中未声明最终变量 7 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 7 月前 |