Tom*_*m B 3 string android json compare
我想将使用JSON的mysql数据库中的字符串与我的字符串进行比较.我从数据库收到数据,Log显示我有所有数据.
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
Log.i("mylog","TABLE_NAME: "+json_data.getString("table_name"));//returns cars
if ( json_data.getString("table_name") == "cars" ) { //dosent work
....
}
}
} catch(JSONException e){
Log.e("mylog", "Error parsing data "+e.toString());
return false;
}
Run Code Online (Sandbox Code Playgroud)
并且在Log I的这个示例中收到了表格的名称:汽车以及IF条件下面的情况不起作用,我不知道为什么.它很奇怪.我尝试了很多方法.
你知道为什么我不能将JSON中的table_name与简单的String进行比较的原因是什么?
使用.equals()在Java/Android的比较两个字符串.
if (json_data.getString("table_name").equals("cars")) {
}
Run Code Online (Sandbox Code Playgroud)
它比较Strings refrence所以不能工作......
当你使用String文字然后使用 ==
并且==仅适用于原始数据类型,这里String is Object使用.equals