Quoting myself.

What is the reason for naming the methods: "from(xx)" instead of "of(xx)" as 
the existing ones taking varargs and so on?

Cheers Patrick

Am 16.11.2013 um 17:14 schrieb Patrick Reinhart <patr...@reini.net>:

> Hi Remi,
> 
> That was also the first failed lookup try after starting with Lambdas, 
> specially because we got a lot of own implementation implementing Iterable. 
> It would have been more natural from me to find some according methods on the 
> Stream interface. Especially as a beginner.
> 
> Cheers Patrick
> 
> Am 16.11.2013 um 15:00 schrieb Remi Forax <fo...@univ-mlv.fr>:
> 
>> During Devoxx Belgium, after the talk of Brian and Jose Paumard, there was 
>> an interesting discussion among some Java8 early adopters about the fact 
>> that in the API there no xommon way to get a Stream for anything that is 
>> conceptually a collection.
>> 
>> I propose to introduce the following new methods on Stream:
>> 
>> /**
>>  * Returns a sequential|Stream|  with the iterable as its source.
>>  *
>>  * @param T the type of stream elements.
>>  * @param iterable the iterable used as source of the stream.
>>  * @return a sequential stream.
>>  */
>> public static <T> Stream<T> from(Iterable<T> iterable) {
>>     return StreamSupport.stream(iterable.spliterator(), false);
>> }
>> 
>> /**
>>  * Returns a sequential|Stream|  with the collection as its source.
>>  *
>>  * @param T the type of stream elements.
>>  * @param collection the collection used as source of the stream.
>>  * @return a sequential stream.
>>  */
>> public static <T> Stream<T> from(Collection<T> collection) {
>>     return collection.stream();
>> }
>> 
>> /**
>>  * Returns a sequential|Stream|  with the array as its source.
>>  *
>>  * @param T the type of stream elements.
>>  * @param array the array used as source of the stream.
>>  * @return a sequential stream.
>>  */
>> public static <T> Stream<T> from(T[] array) {
>>     return Stream.of(array);
>> }
>> 
>> These methods are like the of() methods but of() overloads deal with values 
>> while from() deal with collections.
>> 
>> This also re-introduce a way to get a stream from an unknown Iterable that 
>> was removed from Iterable
>> because we want implementation of Iterable to be able to return Stream of 
>> primitives.
>> I know that this is late in the game, but I think that given these methods 
>> just delegates to existing methods,
>> it will be better to introduce them in Java8 than in Java9.
>> 
>> cheers,
>> Rémi
>> 
> 

Reply via email to