Loose end: ints(), longs()
brian.goetz at oracle.com
Tue May 28 09:47:57 PDT 2013
> I'm not really keen on the ints and longs methods though. I'm already
> used to intRange, which seems short enough, and is consistent with the
> other names, none of which are very short.
Actually intRange was already shortened to range() when it got moved
from Streams to IntStream:
IntStream r = IntStream.range(1, 10)
The name itself is plenty short; it is the arguments that seem verbose
and unnecessarily specific:
seems more "leaky" than
But are you saying you're fine with the verbose form? Or simply you'd
rather have a name that sounds more like "range"?
> On May 28, 2013 9:27 AM, "Brian Goetz" <brian.goetz at oracle.com
> <mailto:brian.goetz at oracle.com>> wrote:
> Another loose end is a method to generate "all" ints / longs (which
> are sugar for ranges 0..MAX_VALUE.) These show up in pedagogical
> examples all the time:
> ints().filter(i -> isPrime(i)).limit(100)
> The logical place for them is:
> but some have raised concern that this might be confusing because we
> have an instance method on IntStream called "longs()" which widens
> the elements from int to long. While this isn't fatal, it might be
> Perhaps it would be better to rename these conversion methods:
> IntStream: longs(), doubles(), boxed()
> LongStream: doubles(), boxed()
> DoubleStream: boxed()
> to asInts(), asLongs(), and asBoxed()?
> In retrospect, these seem better names anyway. And they also
> eliminate the conflict above.
More information about the lambda-libs-spec-observers