2012-11-22 55 views
-4

我想返回一個數據庫中所有用戶的UserNames的userData ArrayList。我不斷收到錯誤,試圖返回ArrayList。誰能幫忙?如何返回一個字符串arrayList

import java.util.*; 
import java.io.*; 
import java.util.ArrayList; 

public class readCSV 
{ 
    List<String[]> userData = new ArrayList<String[]>(); 
    public void checkLogin() throws IOException 
    { 
     try 
     { 
      File file = new File("C:/Users/Sean/Documents/Programming assigment/Users.csv"); 
      BufferedReader bufRdr = new BufferedReader(new FileReader(file));  
      String lineRead = bufRdr.readLine(); 
      while(lineRead != null) 
      { 
       ArrayList<String> list = new ArrayList<String>(); 
       while(lineRead != null) 
       { 
        this.userData.add (lineRead.split(",")); 
       } 
       bufRdr.close(); 
      } 
     } 
     catch(Exception er){ 
      System.out.print(er); 
      System.exit(0); 
     } 
    } 

    public String[] getLogin() 
    { 
     return userData; 
    } 
} 

錯誤imcompatable類型

+7

「我不斷收到錯誤」 - **總是**顯示您的問題中的錯誤。請閱讀http://tinyurl.com/so-hints –

+0

數據庫在哪裏?我沒有看到任何JDBC。 –

+0

public列表 getLogin() –

回答

4
public String[] getLogin() 

返回類型是String[],你正在返回一個List<String[]> -

return userData; // userData is `List<String[]>` 

您需要方法的簽名更改爲: -

public List<String[]> getLogin() 
+0

Cheers Rohit Jain – user1323808

+1

@ user1323808 ..未來還會按照Jon Skeet的建議發表評論。總是顯示你的錯誤。並且在例外的情況下,發佈堆棧跟蹤。這總是有幫助的。 :) –

0

您需要檢查getLogin()方法的返回類型。它返回List<String[]>而不是String[]。相應地更改返回類型。

+0

@istovatis .. Aww!你遲到了一點。儘管如此,您仍然可以在答案中添加更多的描述,使其成爲可以維持的答案。 :) –

+1

要在代碼中添加代碼標籤,您可以在它們之前和之後添加反引號。 「1」鍵左側的按鍵。 –