2011-10-31 78 views
0

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

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); 

正如你所了解的,newcontent_mod和newtype_mod将不能从IF语句访问。我需要强制执行IF声明。

我明白这个问题是基本的。请帮助一位新手!

谢谢!

回答

2

你可以声明它如果声明之外,只是值分配给这些变量

例如:

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); 
} 

否则

您可以同时声明在全球层面即班级变量

+1

“你可以声明它之外的if语句,只是赋值给这些变量”这条线整理我的问题,谢谢 – Vinoth

+0

@Vinoth干杯:) –

0

Declar e 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); 
} 
+0

这不会编译 - if子句之后,局部变量newcontent_mod/newtype_mod可能尚未初始化。 –

3

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

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