java-8- все статьи тега ➜ страница 2
Java 8 NullPointerException в коллекторах.toMap
Java 8 Collectors.toMap бросает a NullPointerException если одно из значений 'null'. Я не понимаю этого поведения, карты могут содержать нулевые указатели в качестве значения без каких-либо проблем. Есть ли веская причина, почему значения не могут быть null для Collectors.toMap? кроме того, есть ли хороший способ Java 8 исправить это, или я должен вернуться к простому старому циклу for? пример моей проблемы: import java.util.ArrayList; import java.util.List; import java.util.Map; import java. ...
Ликвидации PermGen в JDK 8
Я установил JDK 8 и пытаюсь запустить Eclipse. Я получаю следующее предупреждение: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 каковы причины игнорирования этого аргумента? ...
Java 8 stream's. min () and.max (): почему это компилируется?
Примечание: этот вопрос возникает из мертвой ссылки, которая была предыдущим вопросом SO, но здесь идет... посмотреть этот код (примечание: Я знаю, что этот код не будет "работать" и Integer::compare должен использоваться -- я только что извлек его из связанного вопроса): final ArrayList <Integer> list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList()); System.out.println(list.stream().max(Integer::max).get()); System.out.println(list.stream().min(Integer::min).get ...
Использование Java 8 опционально с Stream:: flatMap
новый Java 8 stream framework и друзья делают для некоторого очень краткого кода java, но я столкнулся с кажущейся простой ситуацией, которую сложно сделать лаконично. рассмотрим List<Thing> things и метод Optional<Other> resolve(Thing thing). Я хочу, чтобы карта Thingь Optional<Other>S и получить первый Other. Очевидным решением было бы использовать things.stream().flatMap(this::resolve).findFirst(), а flatMap требует, чтобы вы возвращали поток, и Optional нет stream() метод ...
Можно ли скомпилировать код Java 8 для работы на Java 7 JVM?
Java 8 вводит важные новые языковые функции, такие как лямбда-выражения. сопровождаются ли эти изменения в языке такими значительными изменениями в скомпилированном байт-коде, которые помешали бы ему работать на виртуальной машине Java 7 без использования какого-либо ретротранслятора? ...
Java8: HashMap для HashMap с использованием Stream / Map-Reduce / Collector
Я знаю, как" преобразовать " простой Java List С Y ->Z, например: List<String> x; List<Integer> y = x.stream() .map(s -> Integer.parseInt(s)) .collect(Collectors.toList()); теперь я хотел бы сделать в основном то же самое с картой, т. е.: INPUT: { "key1" -> "41", // "41" and "42" "key2" -> "42 // are Strings } OUTPUT: { "key1" -> 41, // 41 and 42 "key2" -> 42 // are Integers } решение не должно ограничиваться String ...
Расчет дней между двумя датами в Java 8
Я знаю, что есть много вопросов о том, как получить, но я хочу и пример использования нового Java 8 Date api. Я также знаю библиотеку JodaTime, но я хочу работать без внешних библиотек. функция должна жаловаться с этими ограничениями: предотвратить ошибки от даты сохранения Input - это два объекта даты (без времени, я знаю localdatetime, но мне нужно сделать с экземплярами даты) ...
Должен ли я вернуть коллекцию или поток?
Предположим, у меня есть метод, который возвращает только для чтения в список: class Team { private List<Player> players = new ArrayList<>(); // ... public List<Player> getPlayers() { return Collections.unmodifiableList(players); } } далее предположим, что все, что делает клиент, это перебирает список один раз, сразу. Может быть, чтобы поместить игроков в JList или что-то в этом роде. Клиент делает не храните ссылку на список для последующего ос ...
Как я могу создать Java 8 LocalDate из долгого времени эпохи в миллисекундах?
у меня есть внешний API возвращает мне даты как longs, представленный как миллисекунды с эпохи. со старым стилем Java API, я бы просто построить Date С Date myDate = new Date(startDateLong) что такое эквивалент в Java 8's LocalDate/LocalDateTime классы? Я заинтересован в преобразовании точки во времени, представленной длинной в LocalDate в моем текущем часовом поясе. ...
Что означает лямбда с 2 стрелками в Java 8?
Я читал несколько Java 8 учебники раньше. прямо сейчас я столкнулся со следующей темой: поддерживает ли java карринг? здесь, я вижу следующий код: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); Я понимаю, что этот пример суммирует 2 элемента, но я не могу понять конструкцию: a -> b -> a + b; согласно левой части выражения, эта строка должна реализовывать следующую функцию: R apply(int value); до эт ...
Что делает оператор стрелки,' ->', в Java?
во время охоты через какой-то код я наткнулся на оператора стрелки, что именно он делает? Я думал, что Java не имеет оператора стрелки. return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> { return Car.SEDAN == ((Car)arg0).getStyle(); }); подробности: Java 6, Apache Commons Collection, IntelliJ 12 Обновление/Ответов: оказывается, что IntelliJ 12 поддерживает Java 8, которая поддерживает лямбды, и "складывает" предикаты и отображает их как лямбды. Ниже находи ...
Разница между потоками Java 8 и наблюдаемыми RxJava
являются ли потоки Java 8 похожими на наблюдаемые RxJava? Java 8 определение потока: классы в новом java.util.stream пакет предоставляет API потока для поддержка операций функционального стиля над потоками элементов. ...
Java 8 лямбда-аргумент Void
допустим, у меня есть следующий функциональный интерфейс в Java 8: interface Action<T, U> { U execute(T t); } и в некоторых случаях мне нужно действие без аргументов или возвращаемого типа. Поэтому я пишу что-то вроде этого: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; однако, это дает мне ошибку компиляции, мне нужно написать его как Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;}; что это некрасив ...
Java 8 методы по умолчанию как черты: безопасный?
- это безопасная практика, чтобы использовать методы по умолчанию, как бедный человек, черт в Java 8? некоторые утверждают, что это может сделать панды грустно если вы используете их только ради этого, потому что это круто, но это не входило в мои намерения. Также часто напоминается, что методы по умолчанию были введены для поддержки эволюции API и обратной совместимости, что верно, но это не делает его неправильным или искаженным, чтобы использовать их как черты как таковые. I есть следующий ...
Что использование функционального интерфейса в Java 8?
я наткнулся на новый термин под названием Функционального Интерфейса в Java 8. я смог найти только одно использование этого интерфейса во время работы с лямбда-выражения. в Java 8 предоставляет некоторые встроенные функциональные интерфейсы и если мы хотим определить любой функциональный интерфейс, то мы можем использовать @FunctionalInterface Примечание. Это позволит нам объявить только один метод в интерфейсе. для пример: @FunctionalInterface interface MathOperation { int operation(i ...
Группа путем подсчета в Java 8 stream API
Я пытаюсь найти простой способ в Java 8 stream API, чтобы сделать группировку, я выхожу с этим сложным способом! 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[] { e.getKey(), ...
В чем разница между java 8 ZonedDateTime и OffsetDateTime?
Я прочитал документацию, но я все еще не могу получить, когда я должен использовать один или другой: OffsetDateTime ZonedDateTime согласно документации OffsetDateTime должен использоваться при записи даты в базу данных, но я не понимаю, почему. ...
Встроенные Java 8 предикат, который всегда возвращает true?
у Google Guava есть предикат, который всегда возвращает true. Есть ли у Java 8 что-то подобное для его Predicate? Я знаю, что мог бы использовать (foo)->{return true;}, но я хочу что-то готовое, аналогичное Collections.emptySet(). ...
Java 8-разница между необязательными.flatmap и необязательно.карта
в чем разница между этими двумя методами: необязательно.flatMap () и необязательно.карта()? пример был бы признателен. ...
Java 8 поток в обратном порядке
общий вопрос: Как правильно повернуть поток вспять? Предполагая, что мы не знаем, из какого типа элементов состоит этот поток, каков общий способ обращения любого потока? конкретный вопрос: IntStream предоставляет метод диапазона для генерации целых чисел в определенном диапазоне IntStream.range(-range, 0), теперь, когда я хочу изменить его диапазон переключения от 0 до отрицательного не будет работать, также я не могу использовать Integer::compare List<Integer> list = Arrays.asList(1, ...