2012-11-22 205 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”键左侧的按键。 –

相关问题