Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #38188
| Path | csiph.com!news.redatomik.org!news.uzoreto.com!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Daniele Futtorovic <da.futt.news@laposte.net> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Lambda dereference |
| Date | Fri, 16 Mar 2018 19:32:59 +0100 |
| Organization | A noiseless patient Spider |
| Lines | 30 |
| Message-ID | <p8h2lu$773$1@dont-email.me> (permalink) |
| References | <p8h2a1$4f0$1@dont-email.me> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 7bit |
| Injection-Date | Fri, 16 Mar 2018 18:33:34 -0000 (UTC) |
| Injection-Info | reader02.eternal-september.org; posting-host="577cf61a40f97eed46cefc311a326f4d"; logging-data="7395"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/vpBg97u5MWtwuEfAozUzS" |
| User-Agent | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
| In-Reply-To | <p8h2a1$4f0$1@dont-email.me> |
| X-Antivirus-Status | Clean |
| Content-Language | en-GB |
| X-Antivirus | AVG (VPS 180316-4, 03/16/2018), Outbound message |
| Cancel-Lock | sha1:9eQcUEhu+WUkspbboJcueIWWLpI= |
| Xref | csiph.com comp.lang.java.programmer:38188 |
Show key headers only | View raw
On 2018-03-16 19:26, Daniele Futtorovic wrote:
> interface Tagged {
> boolean tag();
> }
>
> Stream<Tagged> stream = ...;
>
> You can do this (exhibit A):
> Predicate<Tagged> p = Tagged::tag;
> Collection<Tagged> untagged = stream.filter( p.negate()
> ).collect(Collectors.toSet());
>
> But you can't do this (exhibit B):
> Collection<Tagged> untagged = stream.filter( (Tagged::tag).negate()
> ).collect(Collectors.toSet());
>
> Why not? It would be pretty neat. Or am I missing something?
>
Nevermind, I'm an idiot. I had tried to cast it, and didn't seem to
manage, but must have screwed up somewhere.
This works:
Collection<Tagged> untagged = stream.filter(
((Predicate<Tagged>)Tagged::tag).negate() ).collect(Collectors.toSet());
... and it makes sense why it wouldn't accept it without the casting.
--
DF.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Lambda dereference Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-16 19:26 +0100
Re: Lambda dereference Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-16 19:32 +0100
Re: Lambda dereference Andreas Leitgeb <avl@logic.at> - 2018-03-16 23:42 +0000
Re: Lambda dereference Daniele Futtorovic <da.futt.news@laposte.net> - 2018-03-17 03:10 +0100
csiph-web