RFR: JDK-8200380 String::lines

Xueming Shen xueming.shen at oracle.com
Fri May 18 18:33:09 UTC 2018


On 5/18/18, 6:44 AM, Jim Laskey wrote:
> String::lines instance method that returns a Stream<String>  with elements composed of substrings from the original string delimited by any recognized new line character sequence.
>
> webrev: http://cr.openjdk.java.net/~jlaskey/8200380/webrev/index.html<http://cr.openjdk.java.net/~jlaskey/8200380/webrev/index.html>
> bug: https://bugs.openjdk.java.net/browse/JDK-8200380<https://bugs.openjdk.java.net/browse/JDK-8200380>
> csr: https://bugs.openjdk.java.net/browse/JDK-8200425<https://bugs.openjdk.java.net/browse/JDK-8200425>
>
>
(1) seems like we probably don' t need the "cs" field, and do ?
        @Override
         public int characteristics() {
             return Spliterator.ORDERED | Spliterator.IMMUTABLE | 
Spliterator.NONNULL;

(2)

  622         private int skipLineSeparator(int start) {
  623             if (start<  fence) {
  624                 if (value[start] == '\r') {
  625                     int next = start + 1;
  626                     if (next<  fence&&  value[next] == '\n') {
  627                         return next + 1;
  628                     }
  629                 }
  630                 return start + 1;
  631             }
  632             return fence;
  633         }

                   if (value[start++] == '\r') {
                       if (start<  fence&&  value[start] == '\n') {
                           start++;  // return start + 1;
                       }
                  }
                  return start;

not sure if it's really better or not ?




More information about the core-libs-dev mailing list