Java字符串转List分隔符指定类型

在Java编程中,有时候我们需要将一个字符串按照特定的分隔符拆分成一个List,并且希望List中的元素是特定的类型。这时候,我们可以借助Java中的String.split()方法和Java 8中的Stream API来实现这个功能。

首先,让我们来看一个简单的示例代码,假设我们有一个包含了一组数字的字符串,每个数字之间使用逗号作为分隔符:

String numbers = "1,2,3,4,5,6";
List<Integer> numberList = Arrays.stream(numbers.split(","))
                                 .map(Integer::parseInt)
                                 .collect(Collectors.toList());
System.out.println(numberList);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

在上面的示例中,我们首先使用String.split(“,”)方法将字符串按照逗号分隔成一个String数组,然后使用Stream API的map方法将每个String转换成Integer类型,最后使用collect方法将转换后的结果收集到一个List中。

如果我们希望将字符串按照不同的分隔符拆分成List,并且每个元素是其他类型,只需要修改分隔符和转换的类型即可。

下面是一个更加通用的方法,可以根据指定的分隔符和类型将字符串转换成List:

public static <T> List<T> stringToList(String str, String delimiter, Function<String, T> mapper) {
    return Arrays.stream(str.split(delimiter))
                 .map(mapper)
                 .collect(Collectors.toList());
}

String fruits = "apple,orange,banana,mango";
List<String> fruitList = stringToList(fruits, ",", Function.identity());
System.out.println(fruitList);

String prices = "10.5,20.8,15.3,30.2";
List<Double> priceList = stringToList(prices, ",", Double::parseDouble);
System.out.println(priceList);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

在上面的代码中,我们定义了一个通用的方法stringToList,接受一个字符串、一个分隔符和一个转换器函数,将字符串按照分隔符拆分成List并进行转换。

通过这种方式,我们可以灵活地处理不同类型的数据,并根据需要将字符串转换成特定类型的List。

总的来说,将字符串按照指定的分隔符转换成List是一种常见的操作,在Java中可以通过String.split()方法和Stream API来实现这个功能。通过合理的设计和封装,我们可以实现通用的方法来处理不同类型的数据,让代码更加灵活和易于维护。

希望本文对你有所帮助,谢谢阅读!

«utility» StringToListUtils +stringToList(String str, String delimiter, Function mapper) : List

类图说明:

  • StringToListUtils:包含一个静态方法stringToList,用于将字符串按照指定的分隔符和转换器函数转换成List。