尝试将文本文件元素添加到数组列表中

时间:2015-12-02 14:30:52

标签: java

我目前正在尝试从文本文件中读取文本(当然),然后尝试将它们添加到我的arraylist中,但是当我尝试使用add方法时,它无法正常工作。

import java.io.*;
import java.util.*;
import java.lang.Object.*;
public class Inventory
{
private String store;
private ArrayList<Flooring> products = new ArrayList();
public Inventory(String args[], ArrayList<Flooring> products) throws IOException{
    FileReader reader = new FileReader("Lowes.txt");
    BufferedReader text = new BufferedReader(reader);
    String line = text.readLine();

    while(line != null){
        products.add(line);
        line = text.readLine();
    }

    FileReader reader1 = new FileReader("Sam's Club Flooring.txt");
    BufferedReader text1 = new BufferedReader(reader1);

    FileReader reader2 = new FileReader("Home Depot.txt");
    BufferedReader text2 = new BufferedReader(reader2);
}

}

5 个答案:

答案 0 :(得分:1)

add方法无效,因为ArrayList包含Flooring类型的对象。所以它只接受Flooring个对象而不是String

private ArrayList<Flooring> products = new ArrayList();

解:

  • 将类型更改为ArrayList<String>
  • 填写String对象的一些Flooring属性并将其添加到列表

答案 1 :(得分:0)

您的ArrayList被定义为仅保存Flooring类型的变量,因此您无法为其添加String值。

您可能希望将列表定义更改为List<String>

或者您想根据线路创建Flooring的新实例。

products.add(new Flooring(line));

答案 2 :(得分:0)

产品是ArrayListFlooring个对象,您尝试向其添加linelineString

如果您想添加line,则需要像这样初始化products列表:

private ArrayList<String> products = new ArrayList<String>();

答案 3 :(得分:0)

您无法将String对象添加到非String arraylist。

private ArrayList<Flooring> products = new ArrayList();

这一行清楚地定义了ArrayList产品只接受类Flooring的对象。

答案 4 :(得分:0)

add方法无效,因为ArrayList包含Flooring类型的对象。所以它只接受Flooring对象而不是String。

private ArrayList products = new ArrayList(); 解:

将类型更改为ArrayList 填充Flooring对象的一些String属性并将其添加到lis