API question for point lambdafication (original) (raw)
Zhong Yu zhong.j.yu at gmail.com
Tue Feb 19 21:49:14 UTC 2013
- Previous message: RFR: 8008481 Dependency analyzer needs exclusion for profile builds with JFR disabled
- Next message: hg: jdk8/tl/jdk: 8008262: pack200 should support MethodParameters - part 2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Feb 19, 2013 at 2:45 PM, Ben Evans <benjamin.john.evans at gmail.com> wrote:
Hi,
I've got my regex point lambdafication patch going against the current state of lambda, but now I have an API question I'd like some feedback on. (Btw, if this is more appropriate for core-libs just let me know, and I'll take my carcass over there & bug those guys instead.) I currently have this new method on java.util.regex.Pattern: public Stream splitAsStream(final CharSequence input);
input.subSequence()
can be expensive anyway; in String,
StringBuilder and StringBuffer, the method will copy the chars in
range. Therefore you may as well do the copy yourself to make Strings.
Currently String does not have a constructor like
public String(CharSequence source, int offset, int count)
maybe it should be added?
Zhong Yu
This provides a stream of values from the input CharSequence, split around occurrences of this pattern.
However, as the return type of splitAsStream() is Stream, then we need to map stream values back to String to be most useful, like this: List out = p.splitAsStream(s) .map(cs -> cs.toString()) .collect(Collectors.toList()); So, my question is this - should I continue to use the above signature, or should it be: public Stream splitAsStream(final CharSequence input); This avoids the need for the intermediate map(), which seems like a bit of a wart to me. Pattern has a vanilla split() method, which returns String[] - so for those 2 reasons I'm minded towards the second form. Anyone else have any thoughts about this? Ben
- Previous message: RFR: 8008481 Dependency analyzer needs exclusion for profile builds with JFR disabled
- Next message: hg: jdk8/tl/jdk: 8008262: pack200 should support MethodParameters - part 2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]