I can't confirm right now but I'm pretty sure I've done ClassName::methodName in my experiments with FunctionalJava and Java 8. Doesn't the State of the Lambda cover that too? On Nov 2, 2012 6:54 PM, "clay" <claytonw...@gmail.com> wrote:
> 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> 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<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<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<https://groups.google.com/d/msg/javaposse/-/SBpf_wVxh0gJ>. >> >> > >> > 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<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. > -- You received this message because you are subscribed to the Google Groups "Java Posse" group. 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.