【发布时间】:2013-06-19 18:22:58
【问题描述】:
我创建了一个 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
}
如果我在没有参数的情况下运行代码,它会使用默认测试变量返回字符串,我可以输出参数值。
任何关于错误的建议都会很棒:)
【问题讨论】:
-
用String的
equals方法比较字符串值,而不是==。 -
使用
==对除基元以外的任何东西都不利(对float和double也不利,但原因不同)。你认为("String" == "String")会解决什么问题?如果你不确定,试试吧!编辑:不好的例子,见下文。 -
@Shrike 这不是一个很好的例子,因为它确实有效(解析为
true),因为编译时字符串常量是intern'd。 -
@Boann,不知道,谢谢 :)
标签: java command-line executable-jar