Бесплатный курс по java. Зарегистрируйтесь для отслеживания прогресса →

Java: Стандартная библиотека

Java, как и любой другой язык, поставляется с набором полезных методов. Все вместе они составляют так называемую стандартную библиотеку. В неё обычно входят тысячи методов, которые невозможно выучить — этого и не нужно делать. Подразумевается, что любой программист знает, где искать документацию по ним и примерно представляет себе, чего он хочет достичь. А дальше — дело техники. Если отнять у программистов интернет, то большинство не сможет ничего запрограммировать.

Для новичков эта информация часто выглядит так: «Сходи туда, не знаю куда, принеси то, не знаю что». То есть непонятно, как узнавать про эти методы, когда ты ничего не знаешь вообще. Как ни странно, не существует способа раз и навсегда познать всё, что нужно познать. Любой разработчик в процессе своего профессионального взросления знакомится со всё более интересными методами, решающими его задачи более элегантно, и таким образом пополняет свой арсенал.

Вот некоторые советы, как узнавать о новых методах:

  • Всегда чётко отслеживайте, с чем вы сейчас работаете (какой тип данных). Почти всегда вы найдете необходимый метод в соответствующем разделе документации — например, для работы со строками нужно изучать строковые методы.
  • Периодически открывайте раздел со стандартными методами по изучаемой тематике и просто пробегайтесь по ним, изучая сигнатуры и способы использования.
  • Чаще читайте чужой код, особенно код библиотек, которые вы используете. Он весь доступен на GitHub.

Задание

Напишем код в стиле "повтори за учителем". Рассчитаем количество дней между двумя датами используя встроенные возможности Java. Попробуйте "поиграть" с датами.

// С даты
LocalDate dateBefore = LocalDate.of(2017, Month.MAY, 24);
// По дату
LocalDate dateAfter = LocalDate.of(2017, Month.JULY, 29);
// Количество дней между этими датами
long noOfDaysBetween = ChronoUnit.DAYS.between(dateBefore, dateAfter);
System.out.println(noOfDaysBetween);

Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе