Articles of java 8

Por que um Java Lambda que lança uma exceção de tempo de execução exige colchetes?

Eu entendo que um lambda em java não pode lançar uma exceção verificada, mas pode lançar um RuntimeException, mas por que o código abaixo requer colchetes? Map m = new HashMap(); Integer integer = m.computeIfAbsent(“”, s -> {throw new IllegalArgumentException(“fail”);}); Por que você não pode ter? m.computeIfAbsent(“”, s -> throw new IllegalArgumentException(“fail”)); É devido à […]

Coletor customizado complexo Java 8

Eu tenho um stream de objects que gostaria de coletar da seguinte maneira. Digamos que estamos lidando com posts no fórum: class Post { private Date time; private Data data } Quero criar uma lista que agrupe postagens por um período. Se não houver posts por X minutos, crie um novo grupo. class PostsGroup{ List […]

Mockito returnsFirstArg () para usar

Eu comecei a usar o Mockito AdditionalAnswers#returnsFirstArg , o que é ótimo: when(myMock.myFunction(anyString())).then(returnsFirstArg()); mas eu queria saber se existe uma maneira fácil de extrair o argumento de input para ser usado, por exemplo, em um construtor como: when(myMock.myFunction(anyString())).thenReturn(new MyObject((String)returnsFirstArg())); (o que obviamente não funciona …)

Java 8 stream for loop

Sou novo no Java 8 Streams e gostaria de converter o seguinte code-block para o modo de stream do Java 8 de fazer a mesma coisa. Edit : Atualiza os nomes das classs para serem menos confusos. (Remo Foo, Bar, Baz …) ArrayList priceLists = new ArrayList(); // I’m casting to a type-safe List from […]

Por que o Collectors.toList () não funciona em collections primitivas?

(Isso provavelmente está relacionado a https://stackoverflow.com/a/30312177/160137 , mas eu ainda não entendi. Então eu estou fazendo a minha pergunta desse jeito, na esperança de que levar a uma resposta que eu possa entender mais facilmente.) Normalmente, quando eu tenho um Stream, posso convertê-lo em uma coleção usando um dos methods estáticos da class Collectors: List […]

Como ordenar um IntStream na ordem inversa

Eu estou lendo em números de um arquivo .txt usando BufferedReader . Eu quero inverter a ordem dos elementos neste vapor para que quando eles forem coletados, eles sejam organizados do mais alto para o mais baixo. Eu não quero classificar após o array ter sido construído porque eu não tenho idéia de quantos elementos […]

Por que a API JavaFX não está incluída no Java 8 J2SE?

Alguém tem alguma idéia porque o JavaFX 8 ainda não é uma API J2SE todos os dias no próximo Java 8? O diagrama de tecnologia que mostra todos os componentes Java exclui claramente o JavaFX da pilha do J2SE. Eu gostaria de ver JavaFX e Swing APIs lado-a-lado nos javadocs do JDK e me perguntar […]

Um stream pode ser criado a partir de um object que apenas expôs a parte “readNext” de um iterador?

Eu tentando ler de um arquivo csv, mas devido ao seu tamanho, sem carregar tudo na memory primeiro. A biblioteca que encontrei para ler csv é opencsv , que funciona muito bem, mas expõe apenas dois methods: readAll() e readNext() readAll está fora, como eu não quero tudo na memory ao mesmo tempo, então eu […]

Como preservar novas linhas durante a leitura de um arquivo usando stream – java 8

try (Stream lines = Files.lines(targetFile)) { List replacedContent = lines.map(line -> StringUtils.replaceEach(line,keys, values)) .parallel() .collect(Collectors.toList()); Files.write(targetFile, replacedContent); } Estou tentando replace vários padrões de texto em cada linha do arquivo. Mas estou observando que “\ r \ n” (equivalentes de byte 10 e 13) está sendo substituído por apenas “\ r” (apenas 10) e meus […]

Definição de Interface Funcional no Java 8

A definição de uma interface funcional no Java 8 diz: Uma interface funcional é definida como qualquer interface que tenha exatamente um método abstrato explicitamente declarado. (A qualificação é necessária porque uma interface pode ter methods padrão não abstratos.) É por isso que as interfaces funcionais costumavam ser chamadas de interfaces Single Abstract Method (SAM) […]