mirror of
https://github.com/apache/poi.git
synced 2025-02-21 17:45:07 +00:00
[github-582] improve performance CodepointsUtil.iteratorFor. Thanks to Jason Mirra. This closes #582
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1915572 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e455798019
commit
2469b89ee6
@ -29,9 +29,18 @@ public class CodepointsUtil {
|
||||
* @see #primitiveIterator(String) a more performant iterator
|
||||
*/
|
||||
public static Iterator<String> iteratorFor(String text) {
|
||||
return text.codePoints()
|
||||
.mapToObj(codePoint -> new String(Character.toChars(codePoint)))
|
||||
.iterator();
|
||||
final PrimitiveIterator.OfInt iter = primitiveIterator(text);
|
||||
return new Iterator<String>() {
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return iter.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String next() {
|
||||
return new String(Character.toChars(iter.nextInt()));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user