首页 > 解决方案 > 将字符串数组转换为对象数组

问题描述

我有一个包含、和10 个客户的String数组。我试图将其转换为数组。我试图将数组的每个元素复制到数组中,但它不兼容。如何将数组中的元素插入数组?nameagegenderCustomerStringCustomerStringCustomer

//String[] customerData is given but too long to copy
Customer[] custs = new Customer[numberOfCustomer];
for (int x = 0; x < customerData.length; x++) {
    custs[x] = customerData[x];
}

标签: javaarraysstringobject

解决方案


假设Customer该类有一个all-args构造函数Customer(String name, int age, String gender),并且输入数组包含所有字段,例如:

String[] data = {
    "Name1", "25", "Male",
    "Name2", "33", "Female",
// ...
};

可以像这样创建和填充客户数组:

Customer[] customers = new Customer[data.length / 3];
for (int i = 0, j = 0; i < customers.length && j < data.length; i++, j += 3) {
    customers[i] = new Customer(data[j], Integer.parseInt(data[j + 1]), data[j + 2]);
}

推荐阅读