Perguntas com a marcação «java-8»

126
Passe para o próximo item usando o loop foreach Java 8 no fluxo

Eu tenho um problema com o fluxo de Java 8 foreach tentando mover para o próximo item no loop. Não consigo definir o comando como continue;, apenas return;funciona, mas você vai sair do loop neste caso. Preciso passar para o próximo item do loop. Como eu posso fazer isso? Exemplo (não...

121
Busque o primeiro elemento que corresponda aos critérios

Como obter o primeiro elemento que corresponde a um critério em um fluxo? Eu tentei isso mas não funciona this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name)); Esse critério não está funcionando, o método de filtro é chamado em uma classe diferente de Stop. public class...

121
Formatar LocalDateTime com fuso horário em Java8

Eu tenho este código simples: DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss.SSSSSS Z"); LocalDateTime.now().format(FORMATTER) Então, receberei a seguinte exceção: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: OffsetSeconds at...

119
CompletableFuture | thenApply vs thenCompose

Não consigo entender a diferença entre thenApply() e thenCompose(). Então, alguém poderia fornecer um caso de uso válido? Dos documentos Java: thenApply(Function<? super T,? extends U> fn) Retorna um novo CompletionStageque, quando este estágio é concluído normalmente, é executado com...

118
O Java 8 oferece uma boa maneira de repetir um valor ou função?

Em muitas outras línguas, por exemplo. Haskell, é fácil repetir um valor ou função várias vezes, por exemplo. para obter uma lista de 8 cópias do valor 1: take 8 (repeat 1) mas ainda não encontrei isso no Java 8. Essa função existe no JDK do Java 8? Ou, alternativamente, algo equivalente a um...

118
O que lambda com 2 setas significa em Java 8?

Eu li vários tutoriais de Java 8 antes. Agora eu encontrei o seguinte tópico: Java oferece suporte ao Currying? Aqui, vejo o seguinte código: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); Eu entendo que este...

115
Modificando a variável local de dentro do lambda

Modificar uma variável local em forEachdá um erro de compilação: Normal int ordinal = 0; for (Example s : list) { s.setOrdinal(ordinal); ordinal++; } Com lambda int ordinal = 0; list.forEach(s -> { s.setOrdinal(ordinal); ordinal++; }); Alguma ideia de como resolver...