if (API_SEARCH_NEAR_BY.equals(api)) { String keyword = object.getString("keyword"); if (object.has("district")) { JSONObject district = object.getJSONObject("district"); if (district.has("nearby")) { String nearby = district.getString("nearby"); if(StringUtil.isEmpty(nearby)){ pi = new PoiSearchInfo(Constant.MAP_SEARCH_NEARBY, 5000, false, null, object.getString("keyword"),latLng); }else{ Map<String, String> map_currentaddress = AddressAutoCompleteUtil.getFullAddressByHalfAddr(nearby, ast.getContext()); String latitude = map_currentaddress.get(AddressAutoCompleteUtil.LAT); String longitude = map_currentaddress.get(AddressAutoCompleteUtil.LNG); latLng = new LatLng(Double.parseDouble(latitude), Double.parseDouble(longitude)); pi = new PoiSearchInfo(Constant.MAP_SEARCH_NEARBY, 5000, false, null, object.getString("keyword"),latLng); } } } } 帮我优化一下代码
时间: 2024-02-10 10:25:27 浏览: 25
当优化代码时,可以考虑以下几个方面:
1. 减少嵌套层级:可以通过提前返回或使用条件判断来减少嵌套层级,使代码更易读。
2. 避免重复的逻辑:可以将重复的逻辑提取出来,以减少代码冗余。
3. 使用合适的命名和注释:使用清晰的命名和注释,以便他人能够理解代码的意图。
以下是优化后的代码示例:
```java
if (API_SEARCH_NEAR_BY.equals(api)) {
String keyword = object.getString("keyword");
if (object.has("district")) {
JSONObject district = object.getJSONObject("district");
if (district.has("nearby")) {
String nearby = district.getString("nearby");
if (StringUtil.isEmpty(nearby)) {
pi = new PoiSearchInfo(Constant.MAP_SEARCH_NEARBY, 5000, false, null, keyword, latLng);
} else {
Map<String, String> map_currentaddress = AddressAutoCompleteUtil.getFullAddressByHalfAddr(nearby, ast.getContext());
String latitude = map_currentaddress.get(AddressAutoCompleteUtil.LAT);
String longitude = map_currentaddress.get(AddressAutoCompleteUtil.LNG);
latLng = new LatLng(Double.parseDouble(latitude), Double.parseDouble(longitude));
pi = new PoiSearchInfo(Constant.MAP_SEARCH_NEARBY, 5000, false, null, keyword, latLng);
}
}
}
}
```
注意事项:
- 代码中使用了已定义的变量,如 `API_SEARCH_NEAR_BY`、`Constant.MAP_SEARCH_NEARBY` 等,请确保这些变量已经正确定义并赋值。
- 代码中使用了 `StringUtil.isEmpty()` 方法来判断字符串是否为空,请确保该方法的实现正确。
希望对你有所帮助!如果还有其他问题,请随时提问。