Java 导入包时是否应使用完全合格?有没有副作用?
我有这段代码Java 导入包时是否应使用完全合格?有没有副作用?,java,string,Java,String,我有这段代码 Objects.toString(record.getBuy(), org.apache.commons.lang3.StringUtils.EMPTY); 我更喜欢使用EMPTY常量而不是字符串文字本身,但我已经在代码中使用了另一个StringUtils类,并且Intellij强制我使用完全限定的包名。我想知道使用或使用“?EMPTY是一个静态字段,因此您可以使用静态导入: import static org.apache.commons.lang3.StringUtils.
Objects.toString(record.getBuy(), org.apache.commons.lang3.StringUtils.EMPTY);
我更喜欢使用
EMPTY
常量而不是字符串文字本身,但我已经在代码中使用了另一个StringUtils
类,并且Intellij强制我使用完全限定的包名。我想知道使用或使用“?EMPTY
是一个静态字段,因此您可以使用静态导入:
import static org.apache.commons.lang3.StringUtils.EMPTY;
import org.some.other.package.StringUtils;
然后你的代码行变成这样:
Objects.toString(record.getBuy(), EMPTY);
我不确定你能从中得到什么。有些人可能会争辩说,这段代码的可读性并不比原始代码强。但这是一种选择
编辑
字符串literal“
对于代码的读者来说是最不令人惊讶的,我同意
关于“是否会引起任何副作用?”:EMPTY
在StringUtils中的定义如下(请参阅):
无副作用(即行为无差异)
(我认为在StringUtils
代码中,避免过度使用”
,以明确其特定上下文,并使用诸如EMPTY
之类的标签是有意义的。)EMPTY
是一个静态字段,因此您可以使用static
导入:
import static org.apache.commons.lang3.StringUtils.EMPTY;
import org.some.other.package.StringUtils;
然后你的代码行变成这样:
Objects.toString(record.getBuy(), EMPTY);
我不确定你能从中得到什么。有些人可能会争辩说,这段代码的可读性并不比原始代码强。但这是一种选择
编辑
字符串literal“
对于代码的读者来说是最不令人惊讶的,我同意
关于“是否会引起任何副作用?”:EMPTY
在StringUtils中的定义如下(请参阅):
无副作用(即行为无差异)
(我认为在StringUtils
代码中,避免过度使用”
,以明确其特定上下文,并使用诸如空的标签,这是有意义的。)首先意识到的是相当长的名称,这会影响可读性。使用完全限定的名称没有区别。。但是使用字符串常量更好。首先要实现的是相当长的名称,这会影响可读性。使用完全限定的名称没有区别。。但是使用字符串常量更好。是的。另一个好主意。但我认为最好使用字符串文字。谢谢,是的。另一个好主意。但我认为最好使用字符串文字。非常感谢。