我使用以下内容:
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有很多其他方法也可以使用。
答案 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()方法,而无需使用类名。
但是,应该注意的是,静态导入应该很少使用,因为它们会使代码更难以遵循。