我有一個對象變量Object test = Spinner.getSelectedItem();
- 它會從微調器(稱爲微調)所選擇的項目和名稱的項目「測試」在使用對象if語句...(安卓)
我想做與該物體如if語句:
'if (test = "hello") {
//do something
}'
但它似乎沒有工作....
有人可以給我一些幫助嗎? - 我必須使用不同的if?或將對象轉換爲字符串等?
非常感謝......
詹姆斯
我有一個對象變量Object test = Spinner.getSelectedItem();
- 它會從微調器(稱爲微調)所選擇的項目和名稱的項目「測試」在使用對象if語句...(安卓)
我想做與該物體如if語句:
'if (test = "hello") {
//do something
}'
但它似乎沒有工作....
有人可以給我一些幫助嗎? - 我必須使用不同的if?或將對象轉換爲字符串等?
非常感謝......
詹姆斯
聲明:
test = "hello"
是字符串 「hello」 的可變測試的任務 - 它不會做一個比較。
test == "hello"
是一個比較,但仍然可能無法正常工作,因爲它比較參考。碰巧是「hello」的兩個不同字符串實例可能不是同一個引用,因此該陳述可能是錯誤的。
嘗試:
"hello".equals(test)
如果要比較字符串,使用equals()方法:
if ("hello".equals(test))...
.equals比較對象,而不是字符串。從Object 的java文檔布爾型\t equals(Object obj) 指示某個其他對象是否「等於」這一個。 它由String類繼承。 – 2010-04-25 17:42:05
這正是我需要的感謝:) – 2010-04-25 17:42:17
@湯姆:當然。我只是希望詹姆斯確保他將一個字符串與一個字符串進行比較(這取決於他的Spinner中的項目類型)。否則,他可能只會收到錯誤的值。 – 2010-04-25 19:18:27
製作測試一個字符串,並投getSelectedItem()的結果爲字符串
string test = (string)Spinner.getSelectedItem();
if (test == "hello")
{
//Do something
}
我試過,出於某種原因,沒有工作=/ – 2010-04-25 17:43:39
在說test.equals(「你好」)時也是有效的我不'像另一種方式,它不符合我的編碼風格。
但是你必須添加一個額外的空檢查。當沒有選擇任何東西時,AdapterView#getSelectedItem返回null。 – 2010-04-25 20:05:09
我總是討厭這種推理。我更願意總是明確地處理空案例,以便清楚地表明我期望爲null,或者我不期望爲null,而不是運行意外丟失不應該邏輯發生的空值的風險。 – TofuBeer 2010-05-09 05:16:37
好的,謝謝...... *現在就試試吧...... * – 2010-04-25 17:38:58
那正是我所需要的,謝謝:) – 2010-04-25 17:42:49