类型项的ArrayList不能保存文件中的值

时间:2016-06-10 01:05:21

标签: java arraylist

我应该从文件中读取,将其分类为Arraylist然后搜索它。

但是当我读取文件并尝试填充我的Arraylist时,它给了我一个无法应用于java.string错误。

此外,我无法弄清楚如何对此列表进行排序。

这就是我从中提取的数字:http://puu.sh/pn9hs/abd4980197.png

public class storeDalton {
Scanner in;
private ArrayList<Item> myStore = new ArrayList<Item>();
Item product;

public storeDalton(String fName) {

}

public storeDalton() {
}

private void loadFile(String inFileName) {
    try {
        in = new Scanner(new File(inFileName));
        while (in.hasNext()) {
            myStore.add(in.nextLine());
        }
    } catch (IOException i) {
        System.out.println("Error: " + i.getMessage());
    }
}

public void displayStore() {


}

//  public String toString() {

//  }

public void Sort() {

}


private void merge(ArrayList<Item> a, int first, int mid, int last) {

}

public void mergeSort(ArrayList<Item> a, int first, int last) {

}

private void swap(ArrayList<Item> list, int a, int b) {
}


public static void main(String[] args) {
    storeDalton run = new storeDalton();
    run.loadFile("file50.txt");
    run.displayStore();

}
}

3 个答案:

答案 0 :(得分:1)

如果查看代码,您会看到代码

ArrayList<Item> myStore 

这意味着ArrayList将包含Item

类型的对象

您正在尝试添加字符串 - 这不起作用。尝试构建Item对象并添加它们?

答案 1 :(得分:0)

在声明列表变量时,您提供了Item作为泛型类型,但是您尝试在列表中存储String。您需要以某种方式将字符串转换为Item,并将其存储在列表中。

ArrayList<Item> myStore; // Here you are saying that the list will store Item objects
...
myStore.add(in.nextLine()); // But here you're trying to store a String object

答案 2 :(得分:-1)

public Item(int id, int inv){
    myId = id;
    myInv = inv;
}

好的我想我想出来我需要将我的字符串分成两部分然后转换为int值。