Skip to content

Commit 627f840

Browse files
committed
refactor(built-in-interfaces): revisão e ajustes
Issue #21
1 parent 9395c15 commit 627f840

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

book/04-lambda/sections/03-built-in-interfaces.asc

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ Desenvolver código que usa as interfaces embutidas no pacote java.util.function
1212

1313
==== Interfaces Funcionais
1414

15-
===== `Supplier`
15+
===== Supplier
1616

1717
. `Supplier` é uma interface funcional que não recebe nenhum parâmetro de entrada, mas retorna um valor. Sua definição na JDK é a seguinte:
1818
+
19-
[source,java,indent=0]
19+
[source,java]
2020
.java.util.function.Supplier<T>
2121
----
2222
@FunctionalInterface
@@ -39,7 +39,7 @@ include::{section-java-package}/builtininterfaces/BuiltInInterfaces_SupplierExam
3939
2019-07-08
4040
----
4141
+
42-
A saída no console irá imprimir a data atual. Está sendo apresentada a data em que este código foi escrito.
42+
A saída no console irá imprimir a data atual em que este código foi escrito.
4343
+
4444
Perceba que a expressão lambda está simplificada, sem chaves `{}` ou `return`. Caso tenha dúvidas com relação a isso, consulte novamente a seção sobre expressões lambda.
4545

@@ -70,11 +70,11 @@ include::{section-java-package}/builtininterfaces/BuiltInInterfaces_SupplierPrim
7070
+
7171
O resultado na console será imprimir o `int` primitivo gerado aleatoriamente.
7272

73-
===== `Consumer` e `BiConsumer`
73+
===== Consumer e BiConsumer
7474

7575
. `Consumer` é uma interface funcional que recebe um parâmetro de entrada, e não retorna nenhum valor. Sua definição na JDK é a seguinte:
7676
+
77-
[source,java,indent=0]
77+
[source,java]
7878
.java.util.function.Supplier<T>
7979
----
8080
@FunctionalInterface
@@ -85,7 +85,7 @@ public interface Consumer<T> {
8585

8686
. `BiConsumer` é uma interface funcional que recebe dois parâmetros de entrada, e não retorna nenhum valor. Sua definição na JDK é a seguinte:
8787
+
88-
[source,java,indent=0]
88+
[source,java]
8989
.java.util.function.Consumer<T>
9090
----
9191
@FunctionalInterface
@@ -106,6 +106,8 @@ include::{section-java-package}/builtininterfaces/BuiltInInterfaces_ConsumerExam
106106
[source,console]
107107
----
108108
2019-07-08
109+
2019-07-08
110+
22:37:39.229
109111
----
110112

111113
. Existem interfaces `Consumer` para lidar tipos primitivos: `DoubleConsumer`, `IntConsumer`, `LongConsumer`, `ObjDoubleConsumer`, `ObjIntConsumer` e `ObjLongConsumer`.
@@ -116,11 +118,11 @@ include::{section-java-package}/builtininterfaces/BuiltInInterfaces_ConsumerExam
116118
include::{section-java-package}/builtininterfaces/BuiltInInterfaces_ConsumerPrimitive.java[tag=code]
117119
----
118120

119-
===== `Predicate` e `BiPredicate`
121+
===== Predicate e BiPredicate
120122

121123
. `Predicate` é uma interface funcional que recebe um parâmetro de entrada e retorna um valor booleano. Sua definição na JDK é a seguinte:
122124
+
123-
[source,java,indent=0]
125+
[source,java]
124126
.java.util.function.Predicate<T>
125127
----
126128
@FunctionalInterface
@@ -131,7 +133,7 @@ public interface Predicate<T> {
131133

132134
. `BiPredicate` é uma interface funcional que recebe dois parâmetros de entrada e retorna um valor booleano. Sua definição na JDK é a seguinte:
133135
+
134-
[source,java,indent=0]
136+
[source,java]
135137
.java.util.function.BiPredicate<T>
136138
----
137139
@FunctionalInterface
@@ -158,11 +160,11 @@ A saída no console é aleatória, pois depende do valor sorteado. Um valor poss
158160
include::{section-java-package}/builtininterfaces/BuiltInInterfaces_PredicatePrimitive.java[tag=code]
159161
----
160162

161-
===== `Function` e `BiFunction`
163+
===== Function e BiFunction
162164

163165
. `Function` é uma interface funcional que recebe um parâmetro de entrada e retorna um valor. Sua definição na JDK é a seguinte:
164166
+
165-
[source,java,indent=0]
167+
[source,java]
166168
.java.util.function.Function<T, R>
167169
----
168170
@FunctionalInterface
@@ -173,7 +175,7 @@ public interface Function<T, R> {
173175

174176
. `BiFunction` é uma interface funcional que recebe dois parâmetros de entrada e retorna um valor. Sua definição na JDK é a seguinte:
175177
+
176-
[source,java,indent=0]
178+
[source,java]
177179
.java.util.function.BiFunction<T>
178180
----
179181
@FunctionalInterface
@@ -212,31 +214,33 @@ include::{section-java-package}/builtininterfaces/BuiltInInterfaces_FunctionPrim
212214
30.0
213215
----
214216

215-
===== `UnaryOperator` e `BinaryOperator`
217+
===== UnaryOperator e BinaryOperator
216218

217219
. `UnaryOperator` é uma interface funcional que recebe um parâmetro de entrada e retorna um valor do mesmo tipo da entrada. Sua definição na JDK é a seguinte:
218220
+
219-
[source,java,indent=0]
221+
[source,java]
220222
.java.util.function.Function<T, R>
221223
----
222224
@FunctionalInterface
223225
public interface UnaryOperator<T> extends Function<T, T> {
224226
225227
}
226228
----
227-
+ Perceba que não existe método abstrato declarado, pois ela apenas estende a interface `Function` já existente.
229+
+
230+
Perceba que não existe método abstrato declarado, pois ela apenas estende a interface `Function` já existente.
228231

229232
. `BinaryOperator` é uma interface funcional que recebe dois parâmetros de entrada do mesmo tipo, e retorna um valor do mesmo tipo das entradas. Sua definição na JDK é a seguinte:
230233
+
231-
[source,java,indent=0]
234+
[source,java]
232235
.java.util.function.BiFunction<T>
233236
----
234237
@FunctionalInterface
235238
public interface BinaryOperator<T> extends BiFunction<T,T,T> {
236239
237240
}
238241
----
239-
+ Perceba que não existe método abstrato declarado, pois ela apenas estende a interface `BiFunction` já existente.
242+
+
243+
Perceba que não existe método abstrato declarado, pois ela apenas estende a interface `BiFunction` já existente.
240244

241245
. Implementações possíveis para `UnaryOperator` ou `BinaryOperator` são funções que soma um número fixo ou soma um número ao outro:
242246
+

0 commit comments

Comments
 (0)