我创建了一个JAR文件,它接受3个参数并返回一个字符串,但我的代码似乎没有识别参数值,即使它们是正确的。
我分配参数:
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的代码,它会使用默认的测试变量返回字符串,我可以输出参数值。
任何有关错误的建议都会很棒:)
答案 0 :(得分:3)
您应该使用.equals
而不是==
,如下所示
if ("Sightings".equals(Selection))
{
//Get sightings text
}
答案 1 :(得分:2)
正如其他人所说,你应该将字符串与.equals
而不是==
进行比较。如果您在任何地方都使用==
,则可以将字符串与String.intern
进行比较,但这仍然存在风险,因为如果您忘记了单个实例,它就会失败。
如果您正在使用命令行参数,请查看Commons CLI