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

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

9
Java 8: форматирование лямбда-выражения с помощью символов новой строки и отступов
Я хотел бы добиться с помощью лямбда-отступа следующего: Многострочный оператор: String[] ppl = new String[] { "Karen (F)", "Kevin (M)", "Lee (M)", "Joan (F)", "Des (M)", "Rick (M)" }; List<String> strings = Arrays.stream(ppl) .filter( (x) -> { return x.contains("(M)"); } ).collect(Collectors.toList()); strings.stream().forEach(System.out::println); Однострочный оператор: List<String> strings = Arrays.stream(ppl) .map((x) -> …

5
Как я могу собрать поток Java 8 в Guava ImmutableCollection?
Я бы хотел сделать следующее: List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); но в том смысле, что полученный список является реализацией Guava ImmutableList. Я знаю, что могу сделать List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); List<Integer> immutableList = ImmutableList.copyOf(list); но я хотел бы собирать к нему напрямую. я пытался List<Integer> list = IntStream.range(0, 7) …

6
цикл forEach Java 8 для набора записей Map
Я пытаюсь преобразовать старый стандарт для каждого цикла до java7 в java8 для каждого цикла для набора записей карты, но я получаю сообщение об ошибке. Вот код, который я пытаюсь преобразовать: for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("Key : " + entry.getKey() + " Value : " + entry.getValue()); …
82 java  lambda  java-8 

5
Как использовать целое число без знака в Java 8 и Java 9?
На странице Oracle «Примитивные типы данных» упоминается, что в Java 8 добавлена ​​поддержка беззнаковых целых и длинных чисел: int: По умолчанию intтип данных представляет собой 32-битное целое число со знаком в дополнительном коде, минимальное значение которого равно −2 31, а максимальное - 2 31 −1. В Java SE 8 и …
82 java  java-8  unsigned 


4
Java 8: объединить списки с потоковым API
У меня следующая ситуация Map<Key, ListContainer> map; public class ListContainer{ List<AClass> lst; } Я должен объединить все списки lstиз ListContainerобъектов из Mapкарты. public static void main(String args[]){ List<AClass> alltheObjectsAClass = map.values().stream(). // continue.... } Есть идеи, как с помощью потокового API Java 8?

3
Проверить instanceof в потоке
У меня есть такое выражение: scheduleIntervalContainers.stream() .filter(sic -> ((ScheduleIntervalContainer) sic).getStartTime() != ((ScheduleIntervalContainer)sic).getEndTime()) .collect(Collectors.toList()); ... где scheduleIntervalContainersесть тип элемента ScheduleContainer: final List<ScheduleContainer> scheduleIntervalContainers Можно ли перед фильтром проверить тип?

3
Перехват нескольких исключений в Java-8
В то время опробовать несколько поймать особенность , которую я нашел в моем m1()методе все работает отлично , как и ожидалось. Однако в m2()том же коде не компилируется. Я только что изменил синтаксис, чтобы уменьшить количество строк кода. public class Main { public int m1(boolean bool) { try { if …

4
Почему char [] единственные массивы, которые не поддерживаются Arrays.stream ()?
Проходя через способы преобразования примитивных массивов в потоки, я обнаружил, что char[]они не поддерживаются, в то время как поддерживаются другие типы примитивных массивов. Есть какая-то конкретная причина, чтобы оставить их в потоке?
43 java  java-8 

6
Хеш-код ArrayList, который содержит себя как элемент
Можем ли мы найти hashcodea, listкоторый содержит себя как element? Я знаю, что это плохая практика, но это то, что спросил интервьюер. Когда я запустил следующий код, он выдает StackOverflowError: public class Main { public static void main(String args[]) { ArrayList<ArrayList> a = new ArrayList(); a.add(a); a.hashCode(); } } Теперь …

5
Как я могу избежать повторения кода, инициализирующего hashmap hashmap?
У каждого клиента есть идентификатор и множество счетов с датами, которые хранятся в виде Hashmap клиентов по идентификатору, хэш-карты счетов по дате: 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); } Решением Java кажется использовать getOrDefault: HashMap<LocalDateTime, …
27 java  java-8  hashmap 

1
Почему удаление из TreeSet с помощью специального компаратора не приведет к удалению большего набора элементов?
Используя Java 8 и Java 11, рассмотрите следующее TreeSetс String::compareToIgnoreCaseкомпаратором: final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] Когда я пытаюсь удалить точные элементы, присутствующие в TreeSet, это работает: все из указанных удалены: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] Однако, если я попытаюсь удалить вместо …

7
Как создать блокирующий фоновый загрузчик в Java 8?
Вопрос Как создать правильный загрузчик фона в Java 8? Условия: данные должны быть загружены в фоновом режиме после загрузки данные должны отображаться пока данные загружены, дальнейшие запросы не принимаются если были запросы во время загрузки данных, то по истечении определенного времени ожидания должна быть назначена другая загрузка (например, 5 секунд) …

3
Продвижение Java-типов в параметрах
Я наткнулся на этот фрагмент: 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 …

2
Как я могу пропустить вызов лимита (номера) с потоком, когда число равно 0?
У меня есть некоторый код Java, который предоставляет объекты из items. Это ограничивает их на основе maxNumber: items.stream() .map(this::myMapper) .filter(item -> item != null) .limit(maxNumber) .collect(Collectors.toList()); Это работает правильно, но вопрос в следующем: есть ли способ пропустить ограничение, когда maxNumber == 0? Я знаю, что мог сделать это: if (maxNumber …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.