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

Используйте этот тег для вопросов, относящихся к Java 8, которая является версией 8 (внутренний номер 1.8) платформы Java, выпущенной 18 марта 2014 года. В большинстве случаев вам также следует указывать тег java.

996
Как установить Java 8 на Mac

Я хочу заняться программированием с последней версией JavaFX, для которой требуется Java 8. Я использую IntelliJ 13 CE и Mac OS X 9 Mavericks. Я запустил установщик Oracle 8 Java, и файлы выглядят так, как будто /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk но предыдущие версии на...

956
:: (двойное двоеточие) оператор в Java 8

Я изучал исходный код Java 8 и нашел эту часть кода очень удивительной: //defined in IntPipeline.java @Override public final OptionalInt reduce(IntBinaryOperator op) { return evaluate(ReduceOps.makeInt(op)); } @Override public final OptionalInt max() { return reduce(Math::max); //this is the gotcha...

934
Список Java 8 <V> на карту <K, V>

Я хочу перевести Список объектов в Карту, используя потоки и лямбды Java 8. Вот как я бы написал это на Java 7 и ниже. private Map<String, Choice> nameMap(List<Choice> choices) { final Map<String, Choice> hashMap = new HashMap<>(); for (final Choice choice : choices) {...

751
Почему массив [idx ++] + = «a» увеличивает idx один раз в Java 8, но в два раза в Java 9 и 10?

Для решения проблемы товарищ по гольфу написал следующий код : import java.util.*; public class Main { public static void main(String[] args) { int size = 3; String[] array = new String[size]; Arrays.fill(array, ""); for(int i = 0; i <= 100; ) { array[i++%size] += i + " "; } for(String element:...

609
Можно ли использовать Java 8 для разработки под Android?

При поиске в Интернете неясно, поддерживается ли Java 8 для разработки под Android или нет. Прежде чем я скачаю / настрою Java 8, могу ли кто-нибудь указать мне на «официальную» документацию, в которой говорится, что Java 8 поддерживается или не поддерживается для разработки под...

540
Когда использовать: метод интерфейса Java 8+ по умолчанию, а не абстрактный метод

Java 8 допускает реализацию методов по умолчанию в интерфейсах, называемых Методами по умолчанию . Я запутался между тем, когда я бы использовал этот вид interface default methodвместо abstract class(с abstract method(s)). Так когда же следует использовать интерфейс с методами по умолчанию и когда...

515
Должен ли я всегда использовать параллельный поток, когда это возможно?

С Java 8 и лямбдами легко перебирать коллекции как потоки, и так же просто использовать параллельный поток. Два примера из документов , второй с использованием parallelStream: myShapesCollection.stream() .filter(e -> e.getColor() == Color.RED) .forEach(e -> System.out.println(e.getName()));...

504
Найти первый элемент по предикату

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

485
Преобразование между java.time.LocalDateTime и java.util.Date

Java 8 имеет совершенно новый API для даты и времени. Одним из наиболее полезных классов в этом API является LocalDateTimeхранение значения даты со временем, не зависящего от часового пояса. Вероятно, существуют миллионы строк кода, использующих устаревший класс java.util.Dateдля этой цели. Таким...

470
Java 8 Лямбда-функция, которая выдает исключение?

Я знаю, как создать ссылку на метод, который имеет Stringпараметр и возвращает int, это: Function<String, Integer> Однако, это не работает, если функция выдает исключение, скажем, что оно определено как: Integer myMethod(String s) throws IOException Как бы я определил эту...

468
Как преобразовать итератор в поток?

Я ищу краткий способ преобразовать Iteratorв Streamили более конкретно, чтобы «просмотреть» итератор в виде потока. Из соображений производительности я бы хотел избежать копирования итератора в новый список: Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator();...

466
Java 8 Iterable.forEach () против цикла foreach

На этот вопрос есть ответы на Переполнение стека на русском : Цикл foreach против Iterable.foreach в Java 8: что лучше? Что из следующего является лучшей практикой в ​​Java 8? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession,...

456
Java 8 Различается по свойству

В Java 8, как я могу отфильтровать коллекцию, используя StreamAPI, проверив отличимость свойства каждого объекта? Например, у меня есть список Personобъектов, и я хочу удалить людей с тем же именем, persons.stream().distinct(); Будет использовать проверку равенства по умолчанию для Personобъекта,...

443
Получение списка из java.util.stream.Stream в Java 8

Я играл с лямбдами Java 8, чтобы легко фильтровать коллекции. Но я не нашел краткий способ получить результат в виде нового списка в том же утверждении. Вот мой самый лаконичный подход: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List<Long>...

420
Преобразование Iterable в Stream с использованием Java 8 JDK

У меня есть интерфейс, который возвращается java.lang.Iterable<T>. Я хотел бы манипулировать этим результатом с помощью Java 8 Stream API. Однако Iterable не может «течь». Любая идея, как использовать Iterable в качестве потока без преобразования его в...