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,则必须为绿色。