Loose end: ints(), longs()

Sam Pullara spullara at gmail.com
Tue May 28 11:16:12 PDT 2013


On May 28, 2013, at 11:05 AM, Brian Goetz <brian.goetz at oracle.com> wrote:
> I think Paul's addition of rangeClosed to handle closed ranges (previously discussed) proposal is also uncontroversial?

or just have an override that has:

range(start, isInclusive, end, isInclusive)

to cover the bases.

> 
> as{Ints,Longs} but keep boxed()

I vote for these.

Sam

> 
> etc...
> 
> 
> On 5/28/2013 12:26 PM, Brian Goetz 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:
>> 
>>   IntStream.ints()
>>   LongStream.longs()
>> 
>> 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 confusing.
>> 
>> 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 mailing list