Я знаю, что для многих из вас это может показаться глупым вопросом, но я изучаю Android/Java, и у меня все еще есть неясные понятия.
В этом случае я не уверен, как лучше всего использовать оператор return в блоке try/catch.
Вот как я объявил свой метод, где мне нужно это использовать:
public JSONArray parseXmlResponse(String response) {
JSONArray addressComp = null;
JSONObject jsonObject = new JSONObject();
try {
jsonObject = new JSONObject(response);
addressComp = jsonObject.getJSONArray("results").getJSONObject(0).getJSONArray("address_components");
}catch (JSONException e) {
e.printStackTrace();
}
return addressComp;
}
Насколько я знаю, здесь метод всегда возвращает "addressComp", даже если он нулевой.
Но я видел, что другие люди делали бы это по-другому:
public JSONArray parseXmlResponse(String response) {
JSONArray addressComp = null;
JSONObject jsonObject = new JSONObject();
try {
jsonObject = new JSONObject(response);
addressComp = jsonObject.getJSONArray("results").getJSONObject(0).getJSONArray("address_components");
return addressComp;
}catch (JSONException e) {
e.printStackTrace();
}
return null;
}
Но это меня немного смущает.
Установка здесь return null
не приведет к тому, что значение всегда будет возвращаться как null, даже если addressComp имеет реальное значение?
try/catch
. Позвольте мне отредактировать с коротким примером 12.02.2014