2012-03-23 49 views
0

在我的代碼中,我有靜態存儲在一個類中的字符串變量數組。在嘗試訪問另一個類中的字符串時,會發生此錯誤。我找不到原因和解決辦法。任何人都可以幫助我解決這個問題。訪問字符串數組時出錯。 (java.lang.UnsupportedOperationException)

這裏是我的代碼

Module.java

 static String[] myLogoName = new String[] { "one", 
     "two", "three", "four","five", "six" }; 

Sample.java

String tempLogo = "three"; 
private boolean checkLogoimage(String filePath) { 
    for (int i = 0; i < Modules.myLogoName.length - 1; i++) { 
     if (Modules.myLogoName[i] == tempLogo) { 
      LogoVal = i; 
      return true; 
     } 
    } 
    return false; 
} 

在調試時出現此錯誤時,當運行eventhough值是字符串中是不顯示出...

被修改:

這是在調試時發生錯誤..

03-23 19:40:12.807: E/jdwp(12074): REQ: UNSUPPORTED (cmd=2/11 dataLen=8 id=0x000e08) 

注:沒有運行時沒有錯誤。

感謝, 問候,狙擊手

+1

這段代碼沒有辦法導致這個異常。仔細查看堆棧跟蹤 - 它會告訴你什麼線路導致了問題。如果它對你沒有意義,告訴我們,我們會理解它。 – 2012-03-23 13:59:52

+1

添加logCat跟蹤... – Akhil 2012-03-23 14:04:22

+0

LogoVal是'int'? – 2012-03-23 14:14:56

回答

0

相反的if (Modules.myLogoName[i] == tempLogo),嘗試,如果(Modules.myLogoName[i].equals(tempLogo)) 也許錯誤發生,因爲您要比較的內存引用而不是值,和靜態變量存儲在應用程序堆。

+0

沒有。我不這麼認爲。它是UnsupportedOperation。 – kosa 2012-03-23 14:07:16

+0

我試過但沒有改變。 – Sniper 2012-03-23 14:14:35