2

Java 中将字符串转换为字符列表

 8 months ago
source link: https://www.jdon.com/71448.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Java 中将字符串转换为字符列表

在本教程中,我们将探讨将字符串转换为字符列表的一个常见要求。

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<Charactеr>来有效地表示原始字符串中的每个字符。

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<String>,其中每个字符表示为单独的元素。

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。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK