2011-10-31 137 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...