Skip to content

Latest commit

 

History

History
55 lines (33 loc) · 3.75 KB

File metadata and controls

55 lines (33 loc) · 3.75 KB
  1. Что нового появилось в Java 8?
  • Лямбда выражения
  • Ссылочные методы
  • Optional
  • Функциональный интерфейс
  • Stream API
  • Date API
  1. Что такое ссылочные методы?

Позволяет в качестве параметра передавать ссылку на другой метод, аналогичен лямбда выражению

  1. Что такое Optional? где его можноиспользовать?

Optional являются удобным средством предотвращения NullPointerException.

Используются для объектов которые могут быть null, а могут и не быть.

  1. Что такое функциональный интерфейс?

это интерфейс с одним абстрактным методом.

  1. Какие есть стандартные функциональные интерфейсы?
  • Function принимает один аргумент и возвращает результат
  • Consumer принимает один аргумент но не возвращает результата
  • Supplier не принимает вргументов но возвращает результат
  • Predicate принимает один аргумент и возвращет boolean
  • BinaryOperator принимает два аргумента и возвращает результат, все однгого типа
  • UnaryOperator принимает один аргумент и возвращает результат, все одного типа.
  1. Что такое лямда выражения?

лямбда-выражение - это функция, на которую можно ссылаться и передавать ее как объект.

Лямбда выражение используется как реализация метода функционального интерфейса.

  1. Что такое Стримы?

Это итератор чья роль применять набор опираций для каждого элемента, который он содержит.

Основное отличие от коллекций это то что стримы обрабатываются лениво, т.е. по требованию

  1. Расскажи про новый Date и Time API

Давней проблемой для разработчиков Java была неадекватная поддержка манипуляций с датой и временем, необходимых для обычных разработчиков.

Существующие классы, такие как java.util.Date и SimpleDateFormatter, не являются потокобезопасными, что может привести к потенциальным проблемам с параллелизмом для пользователей.

Плохой дизайн API также является реальностью в старом API данных Java. Вот простой пример - годы в java.util.Date начинаются с 1900, месяцы начинаются с 1, а дни начинаются с 0, что не очень интуитивно понятно.

Эти и некоторые другие проблемы привели к популярности сторонних библиотек даты и времени, таких как Joda-Time.

Чтобы решить эти проблемы и обеспечить лучшую поддержку в JDK, для Java SE 8 был разработан новый API даты и времени, свободный от этих проблем, в пакете java.time.