Comments (6)
@rcmoutinho Pronto para revisão.
from java6-to-java8.
@rinaldodev, bem massa essa seção! Ao mesmo tempo que ajuda essa funcionalidade, os olhos precisam estar treinados para entender alguns cenários mais específicos. Muito bom o conteúdo! Aprendi bastante! Valeu!
PS: Praticamente não teve ajuste mas fiz bastante comentário e sugestão 😜
O bullet inicial "Referências a métodos de um tipo de objeto → String::isEmpty" já foi complexo de entender. E no exemplo dele também travei.
Nesta parte do código, você fala novamente de Function
. Não sei se seria interessante colocar no inicio um trecho relembrando como é esse código.
Isso porque nessa parte ficou mais complexa de entender o que o Function
realmente faz. Explico. Nos dois exemplos anteriores, ambas as lambdas naturalmente passam valor e retornam. O exemplo é assim. Então "entendi fácil" o conceito. Mas nesse caso o método doubleValue
não passa valor. Ai deu um nó 😅
Acho que revisando o que é o Function
no inicio já ajude a clarear este conceito.
Os três primeiros exemplos você colocou "Essa é a única chamada que essa expressão lambda faz." Mas para ser sincero, eu não entendi essa frase ou contexto 😅
Eu acho que é possível fazer chamadas com tipos diferentes, até porque alguns tem Double e String. Mas senti falta de um bullet reforçando isso, que não faz diferença o tipo que utilizar, desde que o método espere esse tipo. Não sei se seria fácil ou se conseguiria fazer algo que foge da API do Java. Pode ser legal para representar um cenário mais personalizado que o desenvolvedor pode criar.
Vale lembrar que neste ponto, ao final do arquivo, já imagino que a Function
tem um método apply
. Mas ainda sim vejo que um source code no inicio pode ajudar isso a ficar ainda mais claro e fácil de entender. Eu não busquei em outra fonte para entender. E tenho quase certeza que já tinha visto isso em outro capítulo que escreveu, mas mesmo assim teria que buscar pela info.
from java6-to-java8.
Então, fiz várias alterações com base nos seus comentários. Veja o que acha, se ficou mais fácil de entender algumas coisas ou não. Fiz vários reforços nas outras seções também sobre como os assuntos desse capítulo estão conectados e é muito importante compreender bem um para entender os próximos.
Preferi não fazer resumo do que já foi dito nas outras seções, mas reforçar a necessidade de já conhecer o que falamos nas seções anteriores. Em alguns lugares deixei pra você colocar links/referências onde achar que fica legal. Caso você ainda sinta que existe essa necessidade, eu acho que prefiro voltar nas seções anteriores e incrementar com mais exemplos e explicações.
Além disso, nesta seção acrescentei mais dois bullets com exemplos adicionais. Veja se servem para elucidar a questão.
from java6-to-java8.
Caraca @rinaldodev! 😱
Ficou meeeega top as alterações que fez. Muito bom mesmo. Gostei bastante do "exemplo real" que colocou, as equivalências e observações. De fato ao rever o que é uma Function
e BiFunction
fica mais tranquilo de entender o method reference.
Última observação antes de encerrar, se é que posso pedir mais uma haha 🤪
Vi que no exemplo de SuperHeroi
, você colocou uma forma de method reference utilizando um Suplier
, equanto em toda seção só explicou situações com Function
e BiFunction
. Veja se vale a pena incluir um novo bullet referenciando e explicando essa situação.
Ficou MUITO bom cara! Parabéns!
from java6-to-java8.
Pronto @rcmoutinho! Acrescentei a explicação, realmente acho que ficou mais claro agora!
Bom, por mim era só isso, a não ser que você tenha mais alguma sugestão. Se não, pode fechar!
from java6-to-java8.
Show @rinaldodev! Ficou melhor sim.
Eu achei que ia colocar um exemplo específico para o Suplier
, mas acho que está bom para o momento. Com o tempo vamos acrescentando e melhorando o conteúdo.
Bora para o próximo capítulo 😄
from java6-to-java8.
Related Issues (20)
- Java Streams: parallel-streams HOT 3
- Concurrency: concurrent-package HOT 3
- Concurrency: locks HOT 3
- Concurrency: execute-tasks HOT 3
- Concurrency: fork-join HOT 3
- automatizar todo o processo de geração do livro HOT 1
- link travis-ci badge HOT 1
- Java File I/O: paths HOT 3
- Java File I/O: files HOT 2
- Java File I/O: recursive-access HOT 2
- Java File I/O: file-improvements HOT 2
- Java File I/O: watch-service HOT 3
- Java Collections: diamond HOT 4
- Java Collections: collections-lambda HOT 3
- Java Collections: data-search HOT 2
- Java Collections: calculations HOT 4
- Java Collections: collection-improvements HOT 3
- Java Collections: merge-map HOT 4
- Assume the following HOT 3
- evitar build no branch develop após o merge com o master
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from java6-to-java8.