我有这个
String t= "Mark.Labinson/11051985/Chicago Michael.Louis/25081972/NewYork Gabriel.Vitton/05051988/SanDiego"
我创建了一个新的 java 类 Users,其中包含一些空字段,如名字、姓氏等。 我正在尝试使用字符串 t 中的数据来填充 Users 类中的那些空字段,因为之后,这些字段应该在列表中实例化。
更清楚地说,我试图使输出看起来像这样:
Name: Mark
Surname: Labinson
Birthday: 11 may 1985
Birthplace : Chicago
最佳答案
你也可以这样做:
UsersTest class
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
public class UsersTest {
public static void main(String[] args) throws ParseException {
String record = "Mark.Labinson/11051985/Chicago Michael.Louis/25081972/NewYork Gabriel.Vitton/05051988/SanDiego";
String[] users = record.split("\\s+");
List<User> userList = new ArrayList<User>();
for(String user : users) {
userList.add(new User(user.split("\\/|\\.")));
}
System.out.println("userList : "+ userList);
}
}
User class
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class User {
private SimpleDateFormat inputFormat = new SimpleDateFormat("ddMMyyyy");
private SimpleDateFormat outputFormat = new SimpleDateFormat("dd MMM yyyy");
private String firstName;
private String lastName;
private String birthDate;
private String birthPlace;
public User(String[] user) throws ParseException {
this(user[0], user[1], user[2], user[3]);
}
public User(String firstName, String lastName, String birthDate, String birthPlace) throws ParseException {
this.firstName = firstName;
this.lastName = lastName;
this.birthDate = outputFormat.format(inputFormat.parse(birthDate));
this.birthPlace = birthPlace;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getBirthDate() {
return birthDate;
}
public String getBirthPlace() {
return birthPlace;
}
@Override
public String toString() {
return "User [firstName=" + firstName + ", lastName=" + lastName
+ ", birthDate=" + birthDate + ", birthPlace=" + birthPlace
+ "]\n";
}
}
Output:
userList : [User [firstName=Mark, lastName=Labinson, birthDate=11 May 1985, birthPlace=Chicago]
, User [firstName=Michael, lastName=Louis, birthDate=25 Aug 1972, birthPlace=NewYork]
, User [firstName=Gabriel, lastName=Vitton, birthDate=05 May 1988, birthPlace=SanDiego]
]
关于java - 尝试分割长字符串并将其数据用于列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34686778/