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

Use esta tag para perguntas específicas do Java 8, que é a versão 8 (número interno 1.8) da plataforma Java, lançada em 18 de março de 2014. Na maioria dos casos, você também deve especificar a tag java.



3
forEach vs forEachOrdered no Java 8 Stream
Eu entendo que esses métodos diferem na ordem de execução, mas em todos os meus testes não consigo obter execução de ordem diferente. Exemplo: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s->System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s->System.out.println("Output:"+s)); Resultado: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Forneça exemplos quando 2 métodos produzirão resultados diferentes.

7
Exemplo de método Java 8 Streams FlatMap
Tenho vindo a verificar a próxima Java update, a saber: Java 8 or JDK 8. Sim, estou impaciente, há muitas coisas novas, mas há algo que não entendo, um código simples: final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); os javadocs são public <R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper) …

3
Uma característica peculiar da inferência de tipo de exceção em Java 8
Enquanto escrevia o código para outra resposta neste site, me deparei com esta peculiaridade: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static <T extends Throwable> void sneakyThrow(Throwable t) throws T { throw (T) t; } static …

4
Por que este lambda Java 8 falha ao compilar?
O seguinte código Java falha ao compilar: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error …

5
Como posso coletar um fluxo Java 8 em um Guava ImmutableCollection?
Eu gostaria de fazer o seguinte: List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); mas de uma forma que a lista resultante é uma implementação da Goiaba ImmutableList. Eu sei que poderia fazer List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); List<Integer> immutableList = ImmutableList.copyOf(list); mas eu gostaria de cobrar diretamente. eu tentei List<Integer> list = …

3
Capturando Várias Exceções no Java-8
Ao experimentar o recurso de captura múltipla, encontrei no meu m1()método que tudo está funcionando bem como esperado. No entanto, no m2()mesmo código não compila. Acabei de alterar a sintaxe para reduzir o número de linhas de código. public class Main { public int m1(boolean bool) { try { if …


6
Código hash de ArrayList que se contém como elemento
Podemos encontrar o hashcodede a listque se contém como element? Sei que é uma prática ruim, mas foi o que o entrevistador perguntou. Quando executei o seguinte código, ele lança um StackOverflowError: public class Main { public static void main(String args[]) { ArrayList<ArrayList> a = new ArrayList(); a.add(a); a.hashCode(); } …

5
Como evitar a repetição de código inicializando um hashmap de hashmap?
Todo cliente tem um ID e muitas faturas, com datas, armazenadas como Hashmap de clientes por ID, de um hashmap de faturas por data: HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.get(id); if(allInvoices!=null){ allInvoices.put(date, invoice); //<---REPEATED CODE }else{ allInvoices = new HashMap<>(); allInvoices.put(date, invoice); //<---REPEATED CODE allInvoicesAllClients.put(id, allInvoices); } A solução Java parece …
27 java  java-8  hashmap 

1
Por que a remoção de um TreeSet com um comparador personalizado não remove um conjunto maior de itens?
Usando Java 8 e Java 11, considere o seguinte TreeSetcom um String::compareToIgnoreCasecomparador: final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] Quando tento remover os elementos exatos presentes no TreeSet, ele funciona: todos os especificados são removidos: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] No entanto, se …


3
Promoção do tipo Java em parâmetros
Eu tropecei neste trecho: public class ParamTest { public static void printSum(int a, double b) { System.out.println("In intDBL " + (a + b)); } public static void printSum(long a, long b) { System.out.println("In long " + (a + b)); } public static void printSum(double a, long b) { System.out.println("In doubleLONG …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.