我創建了一個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