Вопросы с тегом «java-8»

271
Используется для опционально

Пользуясь Java 8 уже более 6 месяцев, я очень доволен новыми изменениями API. Одна область, в которой я все еще не уверен, это когда использовать Optional. Я, кажется, колеблюсь между желанием использовать это везде, где-то может быть null, и нигде вообще. Кажется, есть много ситуаций, когда я мог...

266
Java 8: разница между двумя LocalDateTime в нескольких единицах

Я пытаюсь вычислить разницу между двумя LocalDateTime. Вывод должен быть в формате y years m months d days h hours m minutes s seconds. Вот что я написал: import java.time.Duration; import java.time.Instant; import java.time.LocalDateTime; import java.time.Period; import java.time.ZoneId; public...

264
Различия между Java 8 Date Time API (java.time) и Joda-Time

Я знаю, что есть вопросы, касающиеся java.util.Date и Joda-Time. Но после некоторого поиска я не смог найти нить о различиях между API java.time (новинка в Java 8 , определенная JSR 310 ) и Joda-Time . Я слышал, что java.time API в Java 8 намного чище и может делать гораздо больше, чем Joda-Time....

262
Почему Stream <T> не реализует Iterable <T>?

В Java 8 у нас есть класс Stream <T> , который, как ни странно, имеет метод Iterator<T> iterator() Таким образом, вы ожидаете, что он реализует интерфейс Iterable <T> , который требует именно этот метод, но это не так. Когда я хочу перебрать поток с помощью цикла foreach, я должен...

259
Ссылки на методы Java 8: предоставляют Поставщика, способного предоставить параметризованный результат

Я хотел бы использовать java.util.Optional.orElseThrow() с типом исключения, который запрашивает параметр конструктора. Что-то вроде этого: .orElseThrow(MyException::new(someArgument)) // obviously NOT working Есть ли способ создать поставщика, который передает значение моего...

257
Игнорировать дубликаты при создании карты с использованием потоков

Map<String, String> phoneBook = people.stream() .collect(toMap(Person::getName, Person::getAddress)); Я получаю, java.lang.IllegalStateException: Duplicate keyкогда дублированный элемент найден. Можно ли игнорировать такое исключение при добавлении значений на карту? Когда есть дубликат, он...

256
В чем разница между Instant и LocalDateTime?

Я знаю это: Instant - это скорее «техническое» представление меток времени (наносекунды) для вычислений. LocalDateTime - это скорее представление даты / часов, включая часовые пояса для людей. Тем не менее, в конце концов, IMO можно использовать как тип для большинства случаев применения. Как...

252
Рассчитать дни между двумя датами в Java 8

Я знаю, что на SO есть много вопросов о том, как его получить, но я хочу и пример использования нового Java 8 Date API. Я также знаю библиотеку JodaTime, но я хочу работать без внешних библиотек. Функция должна пожаловаться на эти ограничения: Предотвратить ошибки из даты сохранения Входными...

247
Удаление Java 8 JDK с Mac

Поэтому я установил бета-версию JDK 8 некоторое время назад, чтобы посмотреть на некоторые примеры. Я думал наверняка, сейчас легко переключаться между версиями. Заниматься разработкой Play с IntelliJ. По какой-то причине IntelliJ компилируется с 8, хотя: У меня есть компилятор в настройках для...

247
Явный вызов метода по умолчанию в Java

Java 8 представляет методы по умолчанию, чтобы обеспечить возможность расширения интерфейсов без необходимости изменять существующие реализации. Интересно, возможно ли явно вызвать реализацию метода по умолчанию, когда этот метод был переопределен или недоступен из-за противоречивых реализаций по...

241
Java 8 лямбда, Function.identity () или t-> t

На этом вопросе есть ответы на Переполнение стека на русском : Ямбы в Java 8, что лучше использовать - Function.identity () или t-> t? У меня есть вопрос, касающийся использования Function.identity()метода. Представьте себе следующий код: Arrays.asList("a", "b", "c") .stream()...

240
Использование Java 8 необязательно с Stream :: flatMap

Новая потоковая среда Java 8 и ее друзья создают очень лаконичный Java-код, но я столкнулся с на первый взгляд простой ситуацией, которую сложно сделать лаконично. Рассмотрим List<Thing> thingsи метод Optional<Other> resolve(Thing thing). Я хочу отобразить Things на...

239
Почему Java Streams разовые?

В отличие от C # IEnumerable, где конвейер выполнения может выполняться столько раз, сколько мы хотим, в Java поток может быть «повторен» только один раз. Любой вызов терминальной операции закрывает поток, делая его непригодным для использования. Эта «особенность» отнимает много энергии. Я думаю,...

235
Java 8 Streams: несколько фильтров против сложных условий

Иногда вы хотите отфильтровать Streamнесколько условий: myList.stream().filter(x -> x.size() > 10).filter(x -> x.isCool()) ... или вы можете сделать то же самое со сложным условием и одним filter : myList.stream().filter(x -> x.size() > 10 && x -> x.isCool()) ... Я...

232
Зачем использовать Optional.of над Optional.ofNullable?

При использовании Optionalкласса Java 8 существует два способа, которыми значение может быть заключено в необязательный. String foobar = <value or null>; Optional.of(foobar); // May throw NullPointerException Optional.ofNullable(foobar); // Safe from NullPointerException Я понимаю,...

230
Фильтр Java Stream на 1 и только 1 элемент

Я пытаюсь использовать Java 8 Streams, чтобы найти элементы в LinkedList. Однако я хочу гарантировать, что существует одно и только одно соответствие критериям фильтра. Возьми этот код: public static void main(String[] args) { LinkedList<User> users = new LinkedList<>(); users.add(new...

229
Устранение PermGen в JDK 8

Я установил JDK 8 и пытаюсь запустить Eclipse. Я получаю следующее предупреждение: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 Каковы причины игнорирования этой опции виртуальной...

227
Мгновенный формат в строку

Я пытаюсь отформатировать Instant в строку, используя новый Java-API time 8 и шаблон: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); Используя приведенный выше код, я получаю исключение, которое жалуется на неподдерживаемое поле:...