Utilisez cette balise pour les questions spécifiques à Java 8 qui est la version 8 (numéro interne 1.8) de la plate-forme Java, publiée le 18 mars 2014. Dans la plupart des cas, vous devez également spécifier la balise java.
Je joue avec des opérations fonctionnelles paresseuses dans Java SE 8, et je veux mapun index ivers une paire / un tuple (i, value[i]), puis filterbasé sur le deuxième value[i]élément, et finalement ne sortir que les indices. Dois-je encore souffrir ceci: Quel est l'équivalent de la paire C ++ <L, …
Lorsque j'itère une collection en utilisant le nouveau sucre syntaxique de Java 8, tel que myStream.forEach(item -> { // do something useful }); N'est-ce pas équivalent à l'extrait de code «ancienne syntaxe» ci-dessous? myStream.forEach(new Consumer<Item>() { @Override public void accept(Item item) { // do something useful } }); Cela signifie-t-il …
J'utilise java lambda pour trier une liste. comment puis-je le trier de manière inversée? J'ai vu ce post , mais je veux utiliser java 8 lambda. Voici mon code (j'ai utilisé * -1) comme un hack Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator<File>() { public int compare(File o1, File o2) …
En Java 8, il existe Stream.collectce qui permet des agrégations sur des collections. Dans Kotlin, cela n'existe pas de la même manière, à part peut-être comme une collection de fonctions d'extension dans la stdlib. Mais il n'est pas clair quelles sont les équivalences pour différents cas d'utilisation. Par exemple, en …
J'ai une collection de BigDecimals (dans cet exemple, a LinkedList) que je voudrais ajouter ensemble. Est-il possible d'utiliser des flux pour cela? J'ai remarqué que la Streamclasse a plusieurs méthodes Stream::mapToInt Stream::mapToDouble Stream::mapToLong Chacun d'eux a une sum()méthode pratique . Mais, comme nous le savons, floatet l' doublearithmétique est presque …
Supposons que j'ai une classe et une méthode class A { void foo() throws Exception() { ... } } Maintenant, je voudrais appeler foo pour chaque instance de Alivré par un flux comme: void bar() throws Exception { Stream<A> as = ... as.forEach(a -> a.foo()); } Question: Comment gérer correctement …
Il s'agit d'un exemple concret d'une API de bibliothèque tierce, mais simplifié. Compilé avec Oracle JDK 8u72 Considérez ces deux méthodes: <X extends CharSequence> X getCharSequence() { return (X) "hello"; } <X extends String> X getString() { return (X) "hello"; } Les deux rapportent un avertissement "casting non vérifié" - …
En parcourant du code, je suis tombé sur l'opérateur flèche, que fait-il exactement? Je pensais que Java n'avait pas d'opérateur de flèche. return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> { return Car.SEDAN == ((Car)arg0).getStyle(); }); Détails : Java 6, Apache Commons Collection, IntelliJ 12 Mise à jour / Réponse: Il s'avère qu'IntelliJ …
J'essaie de trouver un moyen simple dans l'API de flux Java 8 pour faire le regroupement, je viens avec cette méthode complexe! List<String> list = new ArrayList<>(); list.add("Hello"); list.add("Hello"); list.add("World"); Map<String, List<String>> collect = list.stream().collect( Collectors.groupingBy(o -> o)); System.out.println(collect); List<String[]> collect2 = collect .entrySet() .stream() .map(e -> new String[] { …
J'ai un problème pour essayer les expressions Lambda de Java 8. Habituellement, cela fonctionne bien, mais maintenant j'ai des méthodes qui lancent IOExceptiondes. Il est préférable de consulter le code suivant: class Bank{ .... public Set<String> getActiveAccountNumbers() throws IOException { Stream<Account> s = accounts.values().stream(); s = s.filter(a -> a.isActive()); Stream<String> …
J'essaie d'utiliser un java.lang.function.Functiondans ma base de code java 8, mais je continue à recevoir l'erreur suivante dans Intellij. Utilisation de l'API documentée comme @since 1.6+ Cette inspection trouve toutes les utilisations des méthodes qui ont la balise @since dans leur documentation. Cela peut être utile lorsque le développement est …
Je peux ajouter des flux ou des éléments supplémentaires, comme ceci: Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element)); Et je peux ajouter de nouvelles choses au fur et à mesure, comme ceci: Stream stream = Stream.concat( Stream.concat( stream1.filter(x -> x!=0), stream2) .filter(x -> x!=1), Stream.of(element)) .filter(x -> x!=2); Mais c'est moche, …
Java 8 introduit de nouvelles fonctionnalités de langage importantes telles que les expressions lambda. Ces changements dans le langage sont-ils accompagnés de changements si importants dans le bytecode compilé qui l'empêcheraient d'être exécuté sur une machine virtuelle Java 7 sans utiliser un rétrotranslateur?
Supposons que j'ai une méthode qui renvoie une vue en lecture seule dans une liste de membres: class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } Supposons en outre que tout …
Javadoc of Collector montre comment collecter des éléments d'un flux dans une nouvelle liste. Existe-t-il une ligne unique qui ajoute les résultats dans une ArrayList existante?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.