Finalmente o expert group do Lambda-dev decidiu a sintaxe. Seguem alguns exemplos:
x => x + 1
(x) => x + 1
(int x) => x + 1
(int x, int y) => x + y
(x, y) => x + y
(x, y) => { System.out.printf("%d + %d = %d%n", x, y, x+y); }
() => { System.out.println(“I am a Runnable”); }
Alguém sabe a situação dos SAM types e virtual extension/defender methods?
F
fabiocsilva
Uma passagem interessante da divulgação:
Ou seja, é uma forma “emprestada” de Scala e C#.
F
fredferrao
fabiocsilva:
Uma passagem interessante da divulgação:
Ou seja, é uma forma “emprestada” de Scala e C#.
Ja ia falar que ta muito parecido com Scala
A
Adelar
fredferrao:
fabiocsilva:
Uma passagem interessante da divulgação:
Ou seja, é uma forma “emprestada” de Scala e C#.
Ja ia falar que ta muito parecido com Scala
++
Curti
D
dreampeppers99
Paulo Silveira:
Finalmente o expert group do Lambda-dev decidiu a sintaxe. Seguem alguns exemplos:
x => x + 1
(x) => x + 1
(int x) => x + 1
(int x, int y) => x + y
(x, y) => x + y
(x, y) => { System.out.printf("%d + %d = %d%n", x, y, x+y); }
() => { System.out.println(“I am a Runnable”); }
Alguém sabe se esse recurso (lambda-dev | closure) tem acesso ao contexto externo ao qual ela foi chamada? (Por definição e na teoria sim)
A
Adelar
dreampeppers99:
Paulo Silveira:
Finalmente o expert group do Lambda-dev decidiu a sintaxe. Seguem alguns exemplos:
x => x + 1
(x) => x + 1
(int x) => x + 1
(int x, int y) => x + y
(x, y) => x + y
(x, y) => { System.out.printf("%d + %d = %d%n", x, y, x+y); }
() => { System.out.println(“I am a Runnable”); }
Alguém sabe se esse recurso (lambda-dev | closure) tem acesso ao contexto externo ao qual ela foi chamada? (Por definição e na teoria sim)
Acho que deve ser sim, afinal é só uma forma nova de trabalhar com funções em Java.
M
marcosalex
Falam tanto de closures, mas na prática isso vai ajudar o desenvolvedor em 0,1% das situações pra economizar 2 ou 3 linhas de código.
A maior vantagem da Oracle implementar é não ter de ficar ouvindo mais “C# é superior porque tem closures”, “Java não presta porque não tem nem closures”.
A
AbelBueno
marcosalex:
Falam tanto de closures, mas na prática isso vai ajudar o desenvolvedor em 0,1% das situações pra economizar 2 ou 3 linhas de código.
A maior vantagem da Oracle implementar é não ter de ficar ouvindo mais “C# é superior porque tem closures”, “Java não presta porque não tem nem closures”.
Talvez isto é uma visão simplista da coisa.
Vejo o uso de closures e, principalmente, first class functions como um recurso muito poderoso mesmo para situações normais.
Como ainda não existe em Java, a gente não sente falta… mas a partir do momento que está lá, a gente começa a achar utilidades.
É meio que a questão do Blub do Paul Graham
Por experiência, posso dizer que desde que descobri que javascript tinha esses recursos (costumava usar só pra validar campos), consegui resolver problemas de formas muito mais simples do que antes.
F
Flavio_Almeida
marcosalex:
Falam tanto de closures, mas na prática isso vai ajudar o desenvolvedor em 0,1% das situações pra economizar 2 ou 3 linhas de código.
A maior vantagem da Oracle implementar é não ter de ficar ouvindo mais “C# é superior porque tem closures”, “Java não presta porque não tem nem closures”.
Isso não é totalmente verdade, só o fato deu implementar o pattern Strategy sem Anonymous Inner Classes (sem falar, que pode haver situações onde ele torna-se desnecessário) para resolver problemas que os closures resolvem facilmente (vide Ruby) já é algo excelente.
Eu dou manutenção para um sistema G.I.G.A.N.T.E., então, se tomar apenas a sua afirmação de 2 ou 3 linhas de código, ainda sim, há vantagem no uso de clousures.
M
marcosalex
Bom, essa é minha opinião, mas não vou brigar por causa disso. :lol: :lol:
Útil ou não, até o ano que vem o recurso vai estar contido na linguagem.
W
windsofhell
marcosalex:
Falam tanto de closures, mas na prática isso vai ajudar o desenvolvedor em 0,1% das situações pra economizar 2 ou 3 linhas de código.
A maior vantagem da Oracle implementar é não ter de ficar ouvindo mais “C# é superior porque tem closures”, “Java não presta porque não tem nem closures”.
Agora vc vai ouvir:
“Java soh copia C#” ahahah
De qualquer forma, otima noticia. Tava mais do que na hora!
//Daniel
F
Flavio_Almeida
marcosalex:
Bom, essa é minha opinião, mas não vou brigar por causa disso. :lol: :lol:
Útil ou não, até o ano que vem o recurso vai estar contido na linguagem.
Claro que não vamos brigar, muito pelo contrário, quero ser muito amigo de quem já postou tanta coisa relevante aqui no GUJ!