繁体   English   中英

从IF语句返回值

[英]Returning value from an IF statement

我想从IF语句返回一个字符串。 下面是代码。 我正在解析JSON对象,需要将数据插入sql lite表中。

if (object.has("message")) {
    JSONObject message = object.getJSONObject("message");
    String newtype_mod = object.getJSONObject("message").getString("type");
    String newcontent_mod = object.getJSONObject("message").getString("content");
    objSample = new GetSetMethod();
    objSample.setnewcontent_mod(newcontent_mod);
    objSample.setnewtype_mod(newtype_mod);
    Log.v("##" + newcontent_mod, "V " + newtype_mod);
}

objSample = new GetSetMethod();
objSample.setNewreportid(newreportid);
objSample.setnewcontent_mod(newcontent_mod);
objSample.setnewtype_mod(newtype_mod);
Log.v("" + newcontent_mod, "" + newtype_mod);

如您所知,将无法从IF语句访问newcontent_mod和newtype_mod。 我需要IF语句。

我了解这个问题是基本的。 请帮助一个新手!

谢谢!

您不能简单地在if之外声明它们吗?

String newtype_mod = "";
String newcontent_mode = "";
if ((object.has("message"))) {
    //
    // do stuff here
    //
}
// continue as before...

您可以在if语句之外声明它,只需将值分配给这些变量

例如:

String newtype_mod="";
String newcontent_mod="";

if ((object.has("message"))) 
{
     JSONObject message = object.getJSONObject("message");
     newtype_mod = object.getJSONObject("message")
                        .getString("type");
     newcontent_mod = object.getJSONObject("message")
                     .getString("content");
     objSample = new GetSetMethod();
     objSample.setnewcontent_mod(newcontent_mod);        
     objSample.setnewtype_mod(newtype_mod);
     Log.v("##"+newcontent_mod,"V "+newtype_mod);
}

除此以外

您可以在全局级别(即类级别变量)中声明两者

在if语句外声明2字符串,例如

String newcontent_mod,newtype_mod;
if ((object.has("message"))) {
    JSONObject message = object.getJSONObject("message");
    newtype_mod = object.getJSONObject("message")
                        .getString("type");
    newcontent_mod = object.getJSONObject("message")
                        .getString("content");
    objSample = new GetSetMethod();
    objSample.setnewcontent_mod(newcontent_mod);        
    objSample.setnewtype_mod(newtype_mod);
    Log.v("##"+newcontent_mod,"V "+newtype_mod);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM