If statement 无法从MYSQL读取字符串结果

If statement 无法从MYSQL读取字符串结果,if-statement,arraylist,android-asynctask,marker,If Statement,Arraylist,Android Asynctask,Marker,在获取 来自mysql的数据。。但是if语句无法读取结果。。但是代码是完美的我在if-else条件下看到了问题 这是我的asynctask中的代码 for (int i = 0; i < markers.length(); i++) { JSONObject c = markers.getJSONObject(i); // Storing each json item in variable

在获取
来自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
                        }

                }
for(int i=0;i
等价的
字符串
值在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
}

我认为你的if条件漏掉了一些东西。做一些像这样的if(颜色==“绿色”)的事情我也这么认为。。当我删除if语句时。。我的头衔正在获得地位。。在地图上添加了标记和相应的标题。不,这不起作用。。我的数据库中存储的数据基本上是“正在进行的”和“firedout”。。因此,如果结果正在进行,则标记的颜色必须为红色,如果结果为firedout,则必须为绿色。