2015-02-05 49 views
1

字符串值變化我有以下等待從空到其他價值

public class Myclass { 
    private static String mystring = null; 
    public String process() { 
     output = null; // reset the value 
     try { 
     mystring = longprocess(); 
     } catch (Exception e) {} 
     return mystring; 
    } 
} 

像一類的問題,這是我總是空值到我的字符串的方法「過程」

怎麼辦我等待mystring從null更改爲其他值,然後才返回值?

注意:只需要在方法進程中返回變量'mystring'而不是在return語句本身中使用longprocess。

+0

請正確格式化您的代碼。 – barq 2015-02-05 13:47:55

+5

也許'longprocess()'拋出一個異常 – gefei 2015-02-05 13:48:11

+2

是這個漫長的過程開始一個單獨的線程?另外,它可能是一個錯誤,你沒有注意到由於沒有異常處理 – SomeJavaGuy 2015-02-05 13:48:15

回答

0

根據您提供的pastebin代碼(順便說一句,爲什麼不包括它有問題?),它似乎返回output字符串,然後它被分配實際值。

方法RootShell.getShell(true).add(cmd)將異步(你可以,但後return output;聲明實際分配會發生,所以你將永遠從您的​​方法返回null)執行提供的命令,所以你不能方法的局部變量output指定命令的回調中。

作爲一種解決方法,我可以建議您將某種監聽器傳遞給您的​​方法,並從此監聽器分配mystring變量。