错误:项目无法转换为字符串 [已关闭]

error: project cannot be converted into string [closed]

提问人:Cindy_ l 提问时间:5/5/2023 最后编辑:Mark RotteveelCindy_ l 更新时间:5/8/2023 访问量:34

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答这个问题。

7个月前关闭。

从 CSV 文件读取时,我正在尝试为 CSV 文件的每一行创建一个新对象。我不断收到一个错误,说:

error: incompatible types: project cannot be converted to String
                    Project[i] = projectOne;

我该如何解决这个问题?

while((line = br.readLine()) != null)
{
    String[] lineSplit = line.split(",");
    String[] Project = new String[lineSplit.length];

    for(int i = 0; i < lineSplit.length; i++)
    {
        //Creating a new project object called projectOne
        project projectOne = new project(
                 lineSplit[0],lineSplit[1],lineSplit[2],
                 lineSplit[3],lineSplit[4],lineSplit[5]);
        Project[i] = projectOne;
    }

    System.out.println(Project[1]);
    
}

我检查了项目.java它是一个字符串,所以我很困惑

Java 数组 字符串 CSV 对象

评论

2赞 f1sh 5/5/2023
该变量声明为 .不能将 a 赋给数组元素。ProjectString[]ProjectString

答:

2赞 f1sh 5/5/2023 #1

您的文件似乎每行包含一个项目。不需要那个内部循环。for

也请遵循 java 命名约定。类(如 your class)应为大写,变量(如 ur)应为小写。projectProject

如果您想将每一行转换为 a 并想收集它们,我建议您使用 :ProjectList

  List<Project> projects = new ArrayList<>();
  while((line = br.readLine()) != null) {
    String[] lineSplit = line.split(",");
    Project projectOne = new Project(lineSplit[0],lineSplit[1],lineSplit[2],lineSplit[3],lineSplit[4],lineSplit[5]);
    projects.add(projectOne);
  }
  System.out.println(projects.get(1));