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

392
Por que o Java 8's Optional não deve ser usado em argumentos

Eu li em muitos sites. Opcional deve ser usado apenas como um tipo de retorno e não usado em argumentos de método. Estou lutando para encontrar uma razão lógica. Por exemplo, eu tenho um pedaço de lógica que possui 2 parâmetros opcionais. Portanto, acho que faria sentido escrever minha assinatura...

350
Diferença entre final e efetivamente final

Estou brincando com lambdas no Java 8 e me deparei com um aviso local variables referenced from a lambda expression must be final or effectively final. Eu sei que quando eu uso variáveis ​​dentro da classe anônima, elas devem ser finais na classe externa, mas ainda assim - qual é a diferença entre...

331
Como negar um predicado de referência de método

No Java 8, você pode usar uma referência de método para filtrar um fluxo, por exemplo: Stream<String> s = ...; long emptyStrings = s.filter(String::isEmpty).count(); Existe uma maneira de criar uma referência de método que é a negação de uma existente, ou seja, algo como: long...

313
Quebrar ou retornar do Java 8 stream forEach?

Ao usar a iteração externa sobre um Iterablenós usamos breakou returndo aprimorado para cada loop como: for (SomeObject obj : someObjects) { if (some_condition_met) { break; // or return obj } } Como podemos breakou returnusando a iteração interna em uma expressão lambda do Java 8...