2013-02-28 74 views
0

我想獲取數據庫存儲的值,並檢查是否存在任何值,然後應調用一個方法。但是,同時檢查我得到這個錯誤 - >運營商||未定義的參數類型java.lang.String,java.lang.String中運營商||是未定義的參數類型java.lang.String,在Android應用程序中的java.lang.String

if ((DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRY 
    || DBAdapter.KEY_AUDIENCE_TARGETING_WORLD) != null) 
{ 
    populate(); 
} 
+4

嘗試'DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRY!= NULL || DBAdapter.KEY_AUDIENCE_TARGETING_WORLD!= null' – Sebastian 2013-02-28 09:47:20

+1

@Sebastian,你真的應該作出這樣的回答。 – Egor 2013-02-28 09:54:28

回答

1

你錯過,「如果」的第一部分佈爾表達式:

DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRYDBAdapter.KEY_AUDIENCE_TARGETING_WORLD不是布爾

只能對布爾類型使用||,&&等邏輯運算符。

嘗試分別將每個值與「null」進行比較。

+0

否..有沒有其他的方式來檢查..如果值存在? – Shweta 2013-02-28 09:47:44

1
if(DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRY != null || DBAdapter.KEY_AUDIENCE_TARGETING_WORLD != null) 
{ 
    populate(); 
} 

在Java中,你可以使用boolean操作只boolean秒。希望這可以幫助。

+0

它的'||'不是'&&'。 – SudoRahul 2013-02-28 09:48:16

+0

@ R.J,是的,謝謝,不夠細心。 – Egor 2013-02-28 09:49:14

+0

雖然我沒有** downvote **。 – SudoRahul 2013-02-28 09:49:58

1

嘗試:

if(DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRY != null || DBAdapter.KEY_AUDIENCE_TARGETING_WORLD != null) 
{ 
populate(); 
} 

您可以使用邏輯運算符像||和& &只能與布爾值。由於DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRYDBAdapter.KEY_AUDIENCE_TARGETING_WORLD都是字符串,因此在將||運算符添加到字符串時,Java不知道如何處理它們。你需要將它們逐個比較爲零。

1

如果這些是字符串,要做到這一點:

if (DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRY != null || 
    DBAdapter.KEY_AUDIENCE_TARGETING_WORLD != null) 
{ 
    // executes if at least one of the values is not null 
} 
0

你應該這樣使用它。

if (DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRY != null 
    || DBAdapter.KEY_AUDIENCE_TARGETING_WORLD != null) 
{ 
    populate(); 
} 

當您使用字符串時,不能使用||。您只能將它用於布爾值。

0
if((DBAdapter.KEY_AUDIENCE_TARGETING_COUNTRY) || (DBAdapter.KEY_AUDIENCE_TARGETING_WORLD)) 
{ 
    populate(); 
} 

試試這個,如果它工作

+0

從編譯器錯誤,很明顯這些字段是'String'值。你的代碼不會比OP的原始代碼編譯得更好。 – 2013-02-28 18:20:15

相關問題