在本教程中,我们将探讨将字符串转换为字符列表的一个常见要求。
1、使用toCharArray()
toCharArray ()是将字符串转换为字符数组的简单方法。
我们看下面的代码示例:
@Test public void givenString_whenUsingToCharArray_thenConvertToCharList() { char[] charArray = inputString.toCharArray();
List<Character> charList = new ArrayList<>(); for (char c : charArray) { charList.add(c); }
assertEquals(inputString.length(), charList.size()); }
|
我们使用toCharArray()方法系统地将提供的inputString转换为字符数组。接下来,我们迭代这个字符数组,系统地填充一个名为charList的List来有效地表示原始字符串中的每个字符。
2、使用 Java Stream
@Test public void givenString_whenUsingMapToObj_thenConvertToCharList() { List<Character> charList = inputString.chars() .mapToObj(c -> (char) c) .toList();
assertEquals(inputString.length(), charList.size()); }
|
我们对inputString使用mapToObj()操作来处理其Unicode代码点。具体来说,这使我们能够将每个代码点转换为其相应的字符。然后,我们使用toList()方法有效地将这些转换后的字符收集到charList 中。3、使用Arrays.asList()
将Arrays.asList()方法与split()方法结合使用。
@Test public void givenString_whenUsingSplit_thenConvertToStringList() { String[] charArray = inputString.split("");
List<String> charList = Arrays.asList(charArray);
assertEquals(inputString.length(), charList.size()); }
|
- 首先使用split()方法将inputString分成单个字符串的数组。
- 随后,我们使用asList()方法将此数组转换为List,其中每个字符表示为单独的元素。
4、使用Guava的Lists.charactеrsOf()
Guava是一个广泛使用的 Java 库,它提供了一种将字符串转换为字符列表的便捷方法。
我们看下面的代码示例:
@Test public void givenString_whenUsingGuavaLists_thenConvertToCharList() { List<Character> charList = Lists.charactersOf(inputString);
assertEquals(inputString.length(), charList.size()); }
|
5、使用 Java 9+代码еPoints()
在Java 9及更高版本中,codePoints()方法可用于处理 Unicode 字符。让我们举一个简单的例子:
@Test public void givenString_whenUsingCodePoints_thenConvertToCharList() { List<Character> charList = inputString.codePoints() .mapToObj(c -> (char) c) .toList();
assertEquals(inputString.length(), charList.size()); }
|
- 我们使用codePoints()方法来获取给定字符串中字符的 Unicode 代码点。
- 之后,我们使用mapToObj操作将每个代码点转换为其相应的字符,从而生成charList。