3

JSON を使用して mysql データベースの文字列を自分の文字列と比較したいと思います。データベースからデータを受け取りました。ログには、すべてのデータがあることが示されています。

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;
}

このログの例では、テーブルの名前を受け取りました: cars 以下の IF 条件は機能せず、理由がわかりません。変です。私は多くの方法を試しました。

JSON の table_name を単純な文字列と比較できない理由を知っていますか?

4

1 に答える 1

8

.equals()Java/Android で 2 つの文字列を比較するために使用します。

if (json_data.getString("table_name").equals("cars")) {  

         }

文字列の参照を比較するので、機能しません...

文字列リテラルを使用する場合は、次に使用します==

==プリミティブデータ型のみで、ここではString is Object使用します.equals

于 2012-05-06T14:36:43.757 に答える