如何在java中不换行地读取数据集



我有一个像下面这样的数据集,

chris~88~alex~23~nivya~34~simon~33...........

这个数据表示一些人的姓名和年龄。我如何捕获他们的每个名字和年龄到pojo和保存在数据库。我需要知道如何使用stringutils从这个大字符串中获取他们的名字和年龄。

您可以通过使用String类中的split方法来实现。按字符~分割,将返回stringarray。其中偶数索引值为姓名,奇数索引值为年龄。然后你可以map到pojo类的对象,并创建列表。

将字符串转换为包含姓名和年龄的POJO的代码:

public static void main(String[] args) {
String a = "chris~88~alex~23~nivya~34~simon~33";
String[] nameAge = a.split("~");
List<Person> persons = IntStream.range(0, nameAge.length).filter(x -> x % 2 == 0)
.mapToObj(i -> new Person(nameAge[i], Integer.valueOf(nameAge[i + 1]))).collect(Collectors.toList());
System.out.println(persons);
}

POJO:

class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}

我不知道你使用的是什么特定的DB,但这里有一种可能的方法来分割数据集与正则表达式:

String dataset = "chris~88~alex~23~nivya~34~simon~33~tim~34~berta~12~jon~55";
String[] splitDataset = dataset.split("~");

splitDataset现在包含了所有甚至是i索引的名称,以及所有非均匀索引的年龄(i+1)。

相关内容

  • 没有找到相关文章

最新更新