React-Native:WritableMap 的逻辑比较
React-Native: Logical comparison of WritableMap
我尝试比较异步函数的结果如下:
WritableMap res;
res = ServerAuthenticate.signIn(userName, userPass);
Log.d(TAG, " --> res.getString(status).length(): " + res.getString("status").length());
Log.d(TAG, " --> res.getString(status): " + res.getString("status"));
Log.d(TAG, " --> res.getString('status') == 'OK': " + (res.getString("status") == "OK"));
上面的代码给出了以下控制台输出:
D/!NativeModules( 5899): --> res.getString(status).length(): 2
D/!NativeModules( 5899): --> res.getString(status): OK
D/!NativeModules( 5899): --> res.getString('status') == 'OK': false
res.getString("status")
值是 OK
字符串,但是当我将它作为 res.getString("status") == "OK"
进行比较时,它是 returns false
。实际上我在ServerAuthenticate.signIn()
函数中使用了results.putString("status", "OK");
的方法。
我想知道是否有任何方法可以比较 WritableMap
的 属性 值?
这是标准的 Java 字符串等于问题。尝试 res.getString("status").equals("OK")
或更好的空安全 "OK".equals(res.getString("status"))
.
另见 Java String.equals versus ==
我尝试比较异步函数的结果如下:
WritableMap res;
res = ServerAuthenticate.signIn(userName, userPass);
Log.d(TAG, " --> res.getString(status).length(): " + res.getString("status").length());
Log.d(TAG, " --> res.getString(status): " + res.getString("status"));
Log.d(TAG, " --> res.getString('status') == 'OK': " + (res.getString("status") == "OK"));
上面的代码给出了以下控制台输出:
D/!NativeModules( 5899): --> res.getString(status).length(): 2
D/!NativeModules( 5899): --> res.getString(status): OK
D/!NativeModules( 5899): --> res.getString('status') == 'OK': false
res.getString("status")
值是 OK
字符串,但是当我将它作为 res.getString("status") == "OK"
进行比较时,它是 returns false
。实际上我在ServerAuthenticate.signIn()
函数中使用了results.putString("status", "OK");
的方法。
我想知道是否有任何方法可以比较 WritableMap
的 属性 值?
这是标准的 Java 字符串等于问题。尝试 res.getString("status").equals("OK")
或更好的空安全 "OK".equals(res.getString("status"))
.
另见 Java String.equals versus ==