类:org.apache.commons.cli.OptionBuilder
罐:公地-CLI-1.2.jar
jdk:1.8
在Java中:
OptionBuilder.withArgName("abc").withDescription("bcd");
已成功编译
Scala中的相同代码:
OptionBuilder.withArgName("abc").withDescription("bcd")
错误:(7,38)值withDescription不是org.apache.commons.cli.OptionBuilder的成员 OptionBuilder.withArgName( “ABC”)。withDescription( “BCD”)
答案 0 :(得分:2)
不幸的是,您必须将其用作:
def main(args: Array[String]): Unit = {
OptionBuilder.withArgName("abc")
OptionBuilder.withDescription("bcd")
}
这是因为OptionBuilder中没有带有描述的实例方法,只有静态方法。由于withDescription是一个静态方法,你显然需要在类上调用它,而不是在类的实例上调用它。
private static OptionBuilder instance = new OptionBuilder();
public static OptionBuilder withArgName(String name)
{
OptionBuilder.argName = name;
return instance;
}
public static OptionBuilder withDescription(String newDescription)
{
OptionBuilder.description = newDescription;
return instance;
}