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
代码中,避免过度使用
,以明确其特定上下文,并使用诸如
空的标签,这是有意义的。)

首先意识到的是相当长的名称,这会影响可读性。使用完全限定的名称没有区别。。但是使用字符串常量更好。首先要实现的是相当长的名称,这会影响可读性。使用完全限定的名称没有区别。。但是使用字符串常量更好。是的。另一个好主意。但我认为最好使用字符串文字。谢谢,是的。另一个好主意。但我认为最好使用字符串文字。非常感谢。