AFAIK,

You can't do ClassName::instanceMethod()
You have to do classInstance::instanceMethod()

So, even if getAddressOption() was an instance method, you would have to do 
onePersonInstance::getAddressOption, and the method reference is bound to 
that one instance which wouldn't fit with the example.

On Friday, November 2, 2012 4:33:14 PM UTC-5, Ricky Clarkson wrote:
>
> It's rare that you actually expose public fields in Java, so let's 
> assume addressOption and friends are methods, and then the method 
> reference syntax works fine. 
>
> Also, I said 'with proper support', regarding the returned collection 
> type. :)  But sure, adding a .into wouldn't be too bad. 
>
> On Fri, Nov 2, 2012 at 6:09 PM, clay <clayt...@gmail.com <javascript:>> 
> wrote: 
> > First, you can't use the :: method reference syntax with a variable. 
> > 
> > Secondly, the map and flatMap functions currently exist on the Stream 
> > interface and return a modified Stream. So you have to start with 
> > people.stream() and end with either a Stream instance or call 
> > .into(someCollection) to put them into a collection. 
> > 
> > 
> > On Friday, November 2, 2012 3:29:25 PM UTC-5, Ricky Clarkson wrote: 
> >> 
> >> With proper support it would be: 
> >> 
> >> List<String> zips2 = 
> >> people.flatMap(Person::addressOption).flatMap(Address:zipOption); 
> >> 
> >> That might take a stubborn person a couple of minutes to understand 
> >> but after that even the most determined anti-flatmapper will be able 
> >> to curse, rewrite, fire the writer of but ultimately understand code 
> >> like this without any real trouble. 
> >> 
> >> On Fri, Nov 2, 2012 at 5:22 PM, Fabrizio Giudici 
> >> <fabrizio...@tidalwave.it> wrote: 
> >> > On Fri, 02 Nov 2012 21:12:07 +0100, clay <clayt...@gmail.com> wrote: 
> >> > 
> >> >> In hindsight, a simpler solution (with static import of custom 
> >> >> toIterable 
> >> >> method) would be: 
> >> >> 
> >> >> final List<String> zips2 = new ArrayList<String>(); 
> >> >> for (Person p : people) { for (Address a : 
> toIterable(p.addressOption)) 
> >> >> { 
> >> >> for (String z : toIterable(a.zipOption)) { zips2.add(z); } } } 
> >> > 
> >> > 
> >> > Honestly, I don't find it particularly readable. 
> >> > 
> >> > 
> >> > 
> >> > -- 
> >> > Fabrizio Giudici - Java Architect @ Tidalwave s.a.s. 
> >> > "We make Java work. Everywhere." 
> >> > http://tidalwave.it/fabrizio/blog - fabrizio...@tidalwave.it 
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> >> > Groups 
> >> > "Java Posse" group. 
> >> > To post to this group, send email to java...@googlegroups.com. 
> >> > To unsubscribe from this group, send email to 
> >> > javaposse+...@googlegroups.com. 
> >> > For more options, visit this group at 
> >> > http://groups.google.com/group/javaposse?hl=en. 
> >> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Java Posse" group. 
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msg/javaposse/-/SBpf_wVxh0gJ. 
> > 
> > To post to this group, send email to java...@googlegroups.com<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> > javaposse+...@googlegroups.com <javascript:>. 
> > For more options, visit this group at 
> > http://groups.google.com/group/javaposse?hl=en. 
>

-- 
You received this message because you are subscribed to the Google Groups "Java 
Posse" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/javaposse/-/mhPVSnOnsIYJ.
To post to this group, send email to javaposse@googlegroups.com.
To unsubscribe from this group, send email to 
javaposse+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to