数组到Java中的对象数组中

时间:2015-03-25 01:34:03

标签: java arrays csv

我是初学者,需要将我从.csv扫描的数组转换为对象。我有一个数组保存数据,但我需要用它的值创建对象。

以下是.csv的格式:

  

产品编号,描述,价格
1234,方形,10
4321,圆形,5

    String xfile = "****";
    String input;
    String inputArray[];

    Scanner scan = new Scanner(new BufferedReader(new FileReader(xfile)));
    input = scan.nextLine();

    while (scan.hasNextLine())
    {
        input = scan.nextLine();
        inputArray = input.split(",");

        System.out.println(inputArray[2]);
    }

以下是我已经使用的代码,它会读入.csv文件并将其放入inputArray[]。我现在需要将inputArray[]转换为对象数组" Item"它有自己的类,带有构造函数" descrtiption"," itemNo"和"价格"还有吸气剂和二传手。

inputArray[]打印件打印整个事物列表。我想让.csv的每一行成为一个对象,以便能够设置项目的编号,描述和价格。

3 个答案:

答案 0 :(得分:1)

String xfile = "****";
String input;
String inputArray[];

List<Item> itemList = new ArrayList<Item>();  // to store the list of items

Scanner scan = new Scanner(new BufferedReader(new FileReader(xfile)));
input = scan.nextLine();

while (scan.hasNextLine())
{
    input = scan.nextLine();
    inputArray = input.split(",");

    System.out.println(inputArray[2]);

    // assuming your item number and price are ints
    itemList.add(new Item(inputArray[1], Integer.parseInt(inputArray[0]), Integer.parseInt(inputArray[2])));
}

答案 1 :(得分:0)

拥有ArrayList <{1}}

的情况如何?
Items

答案 2 :(得分:0)

String xfile = "****";
String input;
String inputArray[];

Scanner scan = new Scanner(new BufferedReader(new FileReader(xfile)));
input = scan.nextLine();

while (scan.hasNextLine())
{
    input = scan.nextLine();
    inputArray = input.split(",");
    Item item = new Item();
    item.setPrice = inputArray[1];
    item.setShape = inputArray[2];
    item.setNo = inputArray[3];

    System.out.println(inputArray[2]);
}

它认为使用构造函数比使用setter更好。像那样:

Item item = new Item(inputArray[1],inputArray[2],inputArray[3]);

您还可以将整个数组赋予构造函数并将逻辑放入其中。 之后,您可以将对象放在一个数组中。 我希望这有帮助! :)