Har*_*M V 13 java ternary-operator
我试图设置一个条件,并设置如下所示的true或false,但它始终返回false.
boolean checked = (categoriesCursor.getString(3) == "1") ? true
: false;
Log.i("Nomad",categoriesCursor.getString(3)+ " "+checked);
Run Code Online (Sandbox Code Playgroud)
当我尝试输出值时,我得到以下内容.
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 1 false
01-12 00:05:38.072: I/Nomad(23625): 0 false
01-12 00:05:38.072: I/Nomad(23625): 0 false
Run Code Online (Sandbox Code Playgroud)
K-b*_*llo 39
它会一直返回false,因为您正在比较引用,而不是字符串.你可能意味着:
boolean checked = (categoriesCursor.getString(3).equals("1")) ? true
: false;
Run Code Online (Sandbox Code Playgroud)
这碰巧与此相当:
boolean checked = categoriesCursor.getString(3).equals("1");
Run Code Online (Sandbox Code Playgroud)
如果categoriesCursor.getString(3)可能的话null,你会更安全地这样做:
boolean checked = "1".equals(categoriesCursor.getString(3));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36725 次 |
| 最近记录: |