【发布时间】:2020-08-23 08:04:43
【问题描述】:
我必须使用split 方法(“”);
我想我应该使用for 循环来获取与Person 类的字段对应的值,但是我该怎么做以及如何创建Person 对象并将其添加到对象列表中?
我已经这样做了:
String[] peopleArray = warehouse.split(" ");
String[][] personArray = new String[peopleArray.length][4];
for (int i = 0; i < peopleArray.length; i++) {
personArray[i] = peopleArray[i].split("/|\\.");
for (String field : personArray[i]) {
System.out.print(field + " ");
}
System.out.println(" ");
我无法使用此方法获取字段
Person 类是使用姓名、姓氏、出生日期和出生地点等字段创建的。
这是我的 Person 类
package warehouse;
导入 java.time.LocalDate; 导入 java.time.format.DateTimeFormatter;
公共类人{
public String name;
public String lastname;
public LocalDate dateOfBirth;
public String placeOfBirth;
DateTimeFormatter FORM = DateTimeFormatter.ofPattern("dd.MMM yyyy.");
public Person(String name, String lastname, LocalDate dateOfBirth, String placeOfBirth) {
this.name = name;
this.lastname = lastname;
this.placeOfBirth = placeOfBirth;
this.dateOfBirth = dateOfBirth;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getPlaceOfBirth() {
return placeOfBirth;
}
public void setPlaceOfBirth(String placeOfBirth) {
this.placeOfBirth = placeOfBirth;
}
public String getLocation() {
return dateOfBirth.format(FORM);
}
public void setDateOfBirth(LocalDate dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
@Override
public String toString() {
return ("Name: " + name + " ; " + "Lastname: " + lastname + " ; " + "Date of birth: " + dateOfBirth.format(FORM) + " ; "
+ "Place of birth: " + placeOfBirth);
}
}
【问题讨论】:
-
您必须编写一个映射器,用于字符串数组到人员对象转换的设置人员字段,以尊重位置
-
创建 Person POJO 类。还为此 POJO 创建名称 setter 和 getter。然后在你的数组中有元素基于 / 拆分后。所以你在第 [0] 个索引中有人名。获得第 0 个索引后,您可以将该名称设置为 setter 方法。设置后,您可以根据需要添加到列表中
-
你得到了什么输出?
-
@R.Wang John Davidson 05082004 贝尔格莱德 Michael Barton 01011998 Krakov Ivan Perkinson 23051986 莫斯科
-
@SathishKumarJ 不能使用 setter,它说我不能使用 String[] 作为字符串,或者类似的东西
标签: java