Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 25.02.2019
Сообщений: 5

IntelliJ ругается на предикат с собственной функцией

24.04.2019, 23:29. Показов 939. Ответов 4

Студворк — интернет-сервис помощи студентам
IDE не нравится мой предикат и она предлагает его безопасно удалить без каких-либо вариантов, НЕ принимая его за ошибку. Подсказка перенаправляет на метод Test якобы переопределяемый мной, что вызывает это предупреждение. Переименование метода ничего не меняет.

Java
1
2
3
4
5
6
7
8
9
10
public boolean isInSpeedRange(int a, int b)
    {
        if(a<=speed&&speed<=b) return true;
        return false;
    }
 
    static Predicate<Car> speedRangeTest(int a, int b)
    {
        return o->o.isInSpeedRange(a, b);
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2019, 23:29
Ответы с готовыми решениями:

Intellij IDEA ругается на Double
Здравствуйте! После установки Intellij IDEA 2017 со всеми обновлениями, возникла такая проблема: public class Cat { private...

IntelliJ IDEA вылетает при загрузке проекта. Ругается на nvinitx.dll
Помогите разобраться ......установил IntelliJ IDEA не пробную версию,а по студенческому на год,но не могу исправить вот эту...

Почему vk ругается на бесплатные хостинги? На какие не ругается?
Здравствуйте, Что нужно сделать, чтобы vk не ругался на бесплатный хостинг? Я нашёл отличный хостинг 5gbfree.com. Я на нём храню свои...

4
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
24.04.2019, 23:37
maharaja, целиком класс покажи
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
25.04.2019, 02:03
maharaja, Что вы пытаетесь сделать?
Цитата Сообщение от maharaja Посмотреть сообщение
Подсказка перенаправляет на метод Test якобы переопределяемый мной, что вызывает это предупреждение.
Predicate это интерфейс, и надо обязательно переопределить метод test (он с 1 параметром, например типа Car)

Добавлено через 16 минут
Выше я погорячился, вот пример когда лямбда отдельный метод класса (с чем опыта у меня вооще нет, предпочитаю немного другой синтаксис)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.function.Predicate;
 
public class Test1{
 
    public static void main(String[] args){
        System.out.println(" : "+Test1.isInt(2,5).test(new Car()));
        System.out.println(" : "+Test1.isInt(4,5).test(new Car()));
        System.out.println(" : "+Test1.isInt(23,5).test(new Car()));
    }
    public static Predicate<Car> isInt(int a, int b) {
        return i -> a+b>12;
    }
}
class Car {
 
    @Override
    public String toString(){
        return "Car{"+'}';
    }  
}
Code
1
2
3
: false
 : false
 : true
Добавлено через 3 минуты
Честно сказать не вижу в нем смысла, я не понимаю выгоды его использования..
1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
25.04.2019, 06:51
Цитата Сообщение от maharaja Посмотреть сообщение
IDE не нравится мой предикат и она предлагает его безопасно удалить без каких-либо вариантов, НЕ принимая его за ошибку.
Так не удаляй, в чём проблема?
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
25.04.2019, 12:07
maharaja,
Java
1
2
3
4
5
6
7
8
9
10
public boolean isInSpeedRange(int a, int b)
    {
        if(a<=speed&&speed<=b) return true;
        return false;
    }
 
    static Predicate<Car> speedRangeTest(int a, int b)
    {
        return o->o.isInSpeedRange(a, b);
    }
какой в этом всём вообще толк от класса Car?
По сути метод в Predicate выглядит так:
boolean test(Car)
Но Car у тебя в твоём коде вообще не используется!

Добавлено через 2 минуты
IDEA скорее всего и просит возвращать не Presicate<Car>, а просто boolean, ибо класс Car нигде не фигурирует. Фигурируют переменные a и b и всё

Добавлено через 4 минуты
Хотя забираю свои слова обратно...Car фигурирует... Видимо день мой не заладится, если с утра туплю

Добавлено через 6 минут
всё нормально у меня:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.function.Predicate;
 
class Car {
    private int speed;
 
    Car(int speed) {
        this.speed = speed;
    }
 
    static Predicate<Car> speedRangeTest(int a, int b) {
        return c -> c.speed >= a && c.speed <= b;
    }
}
 
class CarTest {
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
 
        for (int s = 0; s <= 15; s++) {
            System.out.printf("Test #%2d: speed = %2d, result = %s;\n", s + 1, s,
                    Car.speedRangeTest(a, b).test(new Car(s)));
        }
    }
}
Добавлено через 1 минуту
вывод:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Test # 1: speed =  0, result = false;
Test # 2: speed =  1, result = false;
Test # 3: speed =  2, result = false;
Test # 4: speed =  3, result = false;
Test # 5: speed =  4, result = false;
Test # 6: speed =  5, result = true;
Test # 7: speed =  6, result = true;
Test # 8: speed =  7, result = true;
Test # 9: speed =  8, result = true;
Test #10: speed =  9, result = true;
Test #11: speed = 10, result = true;
Test #12: speed = 11, result = false;
Test #13: speed = 12, result = false;
Test #14: speed = 13, result = false;
Test #15: speed = 14, result = false;
Test #16: speed = 15, result = false;
 
Process finished with exit code 0
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2019, 12:07
Помогаю со студенческими работами здесь

Написание собственной ОС
Доброго времени суток! Задался вопросом написать свою ОС на каком-либо языке высокого уровня. Думаю воспользоваться для этих целей языком...

создание собственной функции
Даны натуральные числа n, a1,…,an, где n≤4000. Найти члены ak последовательности a1,…,an, которые при делении на 7 дают остаток 1, 2 или 5,...

Удаление собственной переписки
Привет, хочу сделать удаление переписки. Обработчик такой: site.com/message/delete/?my_id=&amp;from_id=. Но тогда каждый сможет удалить...

Создание собственной команды
Для использования собственных команд: public class DataCommands { public static RoutedCommand Delete { get; set;} ...

рерайт собственной статьи
На сайте есть статья - стопроцентный уник, в ТОПе на 1 месте по ряду запросов. Скопирована несколькими сайтами, нашел по крайней мере штук...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru