我创建了一个JAR文件,它接受3个参数并返回一个字符串,但即使它们正确,我的代码似乎也无法识别参数值。Java JAR不识别cmd行参数
我指定的参数:
if (args.length > 1)
{
raftcode = args[0];
Selection =args[1];
Option = args[2];
System.out.println("Getting arguments");
}
我已经检查了价值,他们是正确的,但程序不会进入if语句
if (Selection == "Sightings")
{
//Get sightings text
}
else if (Selection == "Captures")
{
//Get captures text
}
else if (Selection == "Myrafts")
{
//Get my rafts text
}
else if (Selection == "Other")
{
// Get other text
}
如果我没有ARGS运行代码它返回的字符串使用默认的测试变量,我可以输出参数值。
:)
比较两个字符串值与字符串的'equals'方法,不能以''==。 – rgettman
对于基元以外的任何东西,使用'=='都是不好的(对于'float'和'double'也是不好的,但是出于不同的原因)。你认为'(“String”==“String”)'解决了什么?如果你不确定,试试吧! 编辑:糟糕的例子,见下文。 – Shrike
@Shrike这不是一个好的例子,因为它可以工作(解析为'true'),因为编译时字符串常量是[intern'd](http://docs.oracle.com/javase/7/docs/api/的java /郎/ String.html#实习生%28%29)。 – Boann