如何为多个if-else语句编写函数

Eva*_*dia 0 java if-statement function

我是Java新手.我有很多if-else语句.为了代码优化的目的,我需要为所有if else逻辑编写一个函数.

if (obj.getJSONObject("page_1").has("city")) {
    sn.city = (String) obj.getJSONObject("page_1").get("city").toString();
} else {
    sn.city = null;
}

// param 2 - locality

if (obj.getJSONObject("page_1").has("locality")) {
    locality = (String) obj.getJSONObject("page_1").get("locality").toString();
} else {
    locality = null;
}
Run Code Online (Sandbox Code Playgroud)

我喜欢110个if -else语句.我不知道如何优化代码.

And*_*ner 5

我可能写一个函数类似于:

static String getToStringOrNull(JSONObject parent, String key) {
  return parent.has(key) ? parent.get(key).toString() : null;
}
Run Code Online (Sandbox Code Playgroud)

然后你可以打电话给

sn.city = getToStringOrNull(obj.getJSONObject("page_1"), "city");
locality = getToStringOrNull(obj.getJSONObject("page_1"), "locality");
Run Code Online (Sandbox Code Playgroud)