diff options
author | PJ Fanning <fanningpj@apache.org> | 2022-12-12 14:59:35 +0000 |
---|---|---|
committer | PJ Fanning <fanningpj@apache.org> | 2022-12-12 14:59:35 +0000 |
commit | e9aa298e1eea7be331128057d3d16c0849347916 (patch) | |
tree | 317e55c6c873d94b6f226932f2921aaa5f133f4d /poi/src | |
parent | f8fd8eb2e314725b59d8efe9552870cfbce4e83e (diff) | |
download | poi-e9aa298e1eea7be331128057d3d16c0849347916.tar.gz poi-e9aa298e1eea7be331128057d3d16c0849347916.zip |
[github-405] more performant codepoint util code. Thanks to StanBertrand. This closes #405
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1905932 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poi/src')
-rw-r--r-- | poi/src/main/java/org/apache/poi/util/CodepointsUtil.java | 2 | ||||
-rw-r--r-- | poi/src/test/java/org/apache/poi/util/TestCodepointsUtil.java | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/poi/src/main/java/org/apache/poi/util/CodepointsUtil.java b/poi/src/main/java/org/apache/poi/util/CodepointsUtil.java index 107e37416e..9f2d01780c 100644 --- a/poi/src/main/java/org/apache/poi/util/CodepointsUtil.java +++ b/poi/src/main/java/org/apache/poi/util/CodepointsUtil.java @@ -23,7 +23,7 @@ import java.util.Iterator; public class CodepointsUtil { public static Iterator<String> iteratorFor(String text) { return text.codePoints() - .mapToObj(codePoint -> new StringBuilder().appendCodePoint(codePoint).toString()) + .mapToObj(codePoint -> new String(Character.toChars(codePoint))) .iterator(); } }
\ No newline at end of file diff --git a/poi/src/test/java/org/apache/poi/util/TestCodepointsUtil.java b/poi/src/test/java/org/apache/poi/util/TestCodepointsUtil.java index 35a05af33e..3610535c95 100644 --- a/poi/src/test/java/org/apache/poi/util/TestCodepointsUtil.java +++ b/poi/src/test/java/org/apache/poi/util/TestCodepointsUtil.java @@ -35,7 +35,6 @@ class TestCodepointsUtil { void testIterator() { final String unicodeSurrogates = "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E" + "abcdef123456"; - Iterator<String> sci = CodepointsUtil.iteratorFor(unicodeSurrogates); List<String> codePoints = new ArrayList<>(); CodepointsUtil.iteratorFor(unicodeSurrogates).forEachRemaining(codePoints::add); assertEquals(17, codePoints.size()); |