2014-02-17 29 views
0

我有以下代碼。 String[] sep2=strAdder;編譯器建議將sep2更改爲String或將strAdder的類型更改爲String []。我對此感到困惑。我認爲它應該工作爲什麼字符串數組並沒有作爲第一個字符串索引

String strAdder = null; 

while ((strLine = br.readLine()) != null) { 
    if (strLine.contains(">>")) { 
     String[] sep1 = strLine.split(">>"); 
     String[] sep2 = strAdder; 
     dd = null; 
    } 
    if (!(strLine.contains(">>"))) { 
     strAdder.concat(strLine.toString()); 
    } 
    i++; 
} 
in.close(); 
+0

首先'sep2'只是該if語句範圍內的局部變量。它不是讀取,只是設置,所以你可能只是刪除該行,並擺脫其他問題,即:'sep2'是一個String數組,而'strAdder'只是一個String。他們的類型是不相容的,這就是爲什麼你不能在那一行做這個任務。最後但並非最不重要,你想用strAdder做什麼? – tiguchi

+0

@unluddite then String [] sep1 = strLine.split(「>>」)爲什麼它正在工作。 strLine是一個字符串,sep1如何將其作爲第一個索引 –

+0

'String.split()'返回一個'String []'類型,這就是爲什麼這是工作。 –

回答

3

我不明白你在做什麼。 strAdder的類型爲String,這意味着您不能將其分配給String[]。由於我不知道你打算用什麼來sep2做,那麼你可以做String sep2 = strAdderString[] sep2 = new String[]{strAdder}

+0

我需要女巫的字符串數組我想添加stradder.i.e如果第二條件成爲真正thenstrconcanticante strline每次。但是當第一條件變爲真時,我想添加stra作爲sep2的第一個索引。所以我需要sep2作爲一個字符串[]。 –

0

什麼是我++做什麼?除此之外,你的第二條陳述只不過是前面的「其他」而已。如果爲了這個,爲什麼會有另一個呢? strLine已經是一個String爲什麼要轉換爲string.And最後如果你想存儲只是存儲「String sep2 = strAdder;」

+0

謝謝我應用多種操作,忘記刪除i ++。如果你回顧@unluddite的觀點,那麼你就會知道我的錯誤是什麼。感謝您的建議 –

相關問題