在Eclipse / Java中,import似乎无法正常工作

时间:2015-04-30 17:58:11

标签: java eclipse import apache-stringutils

我使用以下内容:

String x; ... ... // x gets set somewhere in this code String y = x.replaceAll("\\s+", " ").trim();

然后我找到了同样的东西org.apache.commons.lang3.StringUtils.normalizeSpace()。所以在课堂上我添加了

import org.apache.commons.lang3.StringUtils;

并致电 String y = normalizeSpace(x); 但它给了我一个找不到错误的方法,并建议我创建方法。

所以我试过了 import org.apache.commons.lang3.StringUtils.*;

但同样的问题。任何人都知道出了什么问题?

是的,我可以而且确实可以使用

String y = org.apache.commons.lang3.StringUtils.normalizeSpace(x);

但每次输入整个路径都会很麻烦。

哦,我没有在任何一个import语句中出现语法错误。 我想我可以回到替换和修剪但是StringUtils有很多其他方法也可以使用。

2 个答案:

答案 0 :(得分:0)

您需要静态导入:

import static org.apache.commons.lang3.StringUtils.*;

...

String y = normalizeSpace(x);

或按名称引用该类:

import org.apache.commons.lang3.StringUtils;

...

String y = StringUtils.normalizeSpace(x);

答案 1 :(得分:0)

StringUtils是一个班级。它有一个名为normalizeSpace()的静态方法。

导入类时,这意味着您可以使用没有完全限定名称的类名。所以你可以这样做:

String y = StringUtils.normalizeSpace(x);

由于normalizeSpace()是静态方法,您还可以使用静态导入

import static org.apache.commons.lang3.StringUtils.normalizeSpace;

然后您就可以直接使用normalizeSpace()方法,而无需使用类名。

但是,应该注意的是,静态导入应该很少使用,因为它们会使代码更难以遵循。