aboutsummaryrefslogtreecommitdiffstats
path: root/poi/src
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2022-12-12 14:59:35 +0000
committerPJ Fanning <fanningpj@apache.org>2022-12-12 14:59:35 +0000
commite9aa298e1eea7be331128057d3d16c0849347916 (patch)
tree317e55c6c873d94b6f226932f2921aaa5f133f4d /poi/src
parentf8fd8eb2e314725b59d8efe9552870cfbce4e83e (diff)
downloadpoi-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.java2
-rw-r--r--poi/src/test/java/org/apache/poi/util/TestCodepointsUtil.java1
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());