keu*_*leJ 84 java apache-commons
你用StringUtils.EMPTY
而不是""
吗?
我的意思是作为返回值或者如果设置String变量的值.我不是要比较,因为我们使用StringUtils.isEmpty()
Dav*_*rre 103
当然不是.你真的认为""不够清楚吗?
常量基本上有3个用例:
没有在这里适用.
Chr*_*wes 53
我使用StringUtils.EMPTY
,为了隐藏文字,并表达return StringUtils.EMPTY
完全预期,并应该返回一个空字符串,""
可以导致""
可以很容易地改变成其他东西的假设,这可能只是一个错误.我认为EMPTY
更具表现力.
Eri*_*son 27
不,只是使用""
.
文字""
清晰如水晶.什么意思没有误解.我不知道为什么你需要一个类常量.我只能假设这个常量在包含的整个包中使用StringUtils
而不是""
.但这并不意味着你应该使用它.
如果人行道上有岩石,你就不必扔掉它.
Mat*_*ieu 11
我会在这里加上我的两分钱因为我没有看到有人谈论String
实习和类初始化:
String
的Java源代码文字被拘禁,使得任何 ""
与StringUtils.EMPTY
该同一对象StringUtils.EMPTY
can初始化StringUtils
类,因为EMPTY
只有在未声明它时才final
访问其静态成员(JLS在该点上是特定的)看到一个关于字符串实习相关答案和类初始化,指的是JLS 12.4.1.
j__*_*__m 11
令我惊讶的是,有多少人乐于盲目地认为""确实是一个空字符串,并且(不小心?)包含任何Unicode的精彩不可见和非间距字符.对于所有优秀和体面的人的爱,尽可能使用EMPTY.
我真的不喜欢使用它,因为return "";
它短于return StringUtils.EMPTY
.
但是,使用它的一个错误优点是,如果您键入return " ";
而不是return "";
,则可能会遇到不同的行为(关于是否正确测试空字符串).
如果您的班级不使用公共资源中的任何其他内容,那么仅仅为了这个神奇的价值而拥有这种依赖性将是一种遗憾。
StringUtils 的设计者大量使用了这个常量,这是正确的做法,但这并不意味着您也应该使用它。