无法读取MYSQL的字符串结果

时间:2015-01-21 04:32:24

标签: if-statement arraylist android-asynctask marker

我希望在获得结果时在循环中有一个if else语句 来自mysql的数据..但if语句无法读取结果..但代码完全是我在if else条件下看到问题。

这是我的asynctask

中的代码
for (int i = 0; i < markers.length(); i++) {

                    JSONObject c = markers.getJSONObject(i);

                    // Storing each json item in variable
                    Double LAT = c.getDouble(TAG_LAT);
                    Double LNG = c.getDouble(TAG_LNG);
                    String color = c.getString(TAG_STATUS);

                   String red = "ongoing"; 
                    String green = "firedout"; 

                    if (color == red){
                    LatLng position = new LatLng(LAT, LNG);
                    status.add(new MarkerOptions()
                    .title(color)
                    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED))
                    .position(position));
                    // adding HashList to ArrayList
                    }

                    if (color == green){
                        LatLng position = new LatLng(LAT, LNG);
                        status.add(new MarkerOptions()
                        .title(color)
                        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
                        .position(position));
                        // adding HashList to ArrayList
                        }

                }

1 个答案:

答案 0 :(得分:0)

不保证等效String值在Java中是唯一的。换句话说,可以有两个具有完全相同值的String个对象。

String s1 = "ongoing";
String s2 = new String(s1);
System.out.println(s1 == s2); // false!
System.out.println(s1.equals(s2)); // true :)

因此,您必须说:

if (red.equals(color)) {
    // do something
}