我是初学者,需要将我从.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
的每一行成为一个对象,以便能够设置项目的编号,描述和价格。
答案 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]);
您还可以将整个数组赋予构造函数并将逻辑放入其中。 之后,您可以将对象放在一个数组中。 我希望这有帮助! :)