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

Java: Предикаты

Вспомним метод isInfant() из прошлого урока:

static boolean isInfant(int age) {
    return age < 1;
}

isInfant() — это метод-предикат.

Предикат отвечает на утвердительный вопрос «да» или «нет», возвращая значение типа boolean.

Предикаты во всех языках принято именовать особым образом для простоты анализа. В Java предикаты как правило начинаются с префикса is или has:

  • isInfant() — «младенец ли?»
  • hasChildren() — «есть ли дети?»
  • isEmpty() — «пустой ли?»
  • hasErrors() — «есть ли ошибки?»

Метод может считаться предикатом, только если он возвращает boolean.


Давайте напишем еще один метод-предикат. Он принимает строку и проверяет, пустая ли она. Пустой строкой называется строка "" - ее длина равна 0. Как мы помним, для вычисления длины строки str можно использовать выражение str.length():

public static void main(String[] args) {
  System.out.println(isEmpty("Sea"));
}

static boolean isEmpty(String str) {
    return str.length() == 0;
}
false

Задание

Напишите метод isNegative(), который принимает число и проверяет, является ли оно отрицательным.

App.isNegative(-45); // true
App.isNegative(34); // false

Советы


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