导入在Eclipse/Java中似乎无法正常工作
我使用的是:导入在Eclipse/Java中似乎无法正常工作,java,eclipse,import,apache-stringutils,Java,Eclipse,Import,Apache Stringutils,我使用的是: 字符串x; ... ... //x在代码中的某个地方被设置 字符串y=x.replaceAll(“\\s+”,“”)。trim() 然后我找到org.apache.commons.lang3.StringUtils.normalizeSpace(),它也做同样的事情。所以我在班上名列前茅的时候加了一句 导入org.apache.commons.lang3.StringUtils 打电话 String y=normalizeSpace(x) 但它给了我一个未发现错误的方法,并建议我创
字符串x;
...
...
//x在代码中的某个地方被设置
字符串y=x.replaceAll(“\\s+”,“”)。trim()代码>
然后我找到org.apache.commons.lang3.StringUtils.normalizeSpace(),它也做同样的事情。所以我在班上名列前茅的时候加了一句
导入org.apache.commons.lang3.StringUtils
打电话
String y=normalizeSpace(x)代码>
但它给了我一个未发现错误的方法,并建议我创建该方法
所以我试过了
import org.apache.commons.lang3.StringUtils.*代码>
但同样的问题。有人知道怎么回事吗
是的,我可以,而且确实,使用
String y=org.apache.commons.lang3.StringUtils.normalizeSpace(x)代码>
但是每次输入整个路径都会很尴尬
哦,我在两条导入语句中都没有发现语法错误。
我想我可以回到替换和修剪,但是StringUtils还有很多其他方法也可以使用。您需要静态导入:
import static org.apache.commons.lang3.StringUtils.*;
...
String y = normalizeSpace(x);
或按名称引用类:
import org.apache.commons.lang3.StringUtils;
...
String y = StringUtils.normalizeSpace(x);
StringUtils
是一个类。它有一个名为normalizeSpace()
的静态方法
当您导入类时,这仅仅意味着您可以在不使用完全限定名的情况下使用类名。所以你可以这样做:
String y = StringUtils.normalizeSpace(x);
由于normalizeSpace()
是一种静态方法,因此您也可以使用静态导入:
import static org.apache.commons.lang3.StringUtils.normalizeSpace;
然后您就可以直接使用normalizeSpace()方法,而不需要类名
但是,应该注意的是,静态导入应该很少使用,因为它们使您的代码更难理解。当您键入CTRL+SHIFT+O时会发生什么?此外,如果您转到“打开类型”(CTRL+SHIFT+T)并搜索StringUtils,您能找到关于包含StringUtils的jar位置的任何线索吗?为什么所有3个答案都被否决?