Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 23.11.2020
Сообщений: 68

Generic класс

27.12.2021, 14:53. Показов 759. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Хочу создать generic-класс, который будет обрабатывать коллекции разных типов. Проблема в том, что я предполагаю наличие у этих типов метода getHealth(), но для generic-типа Т такого метода не существует(пометил комментарием).

Подскажите, пожалуйста, выход из ситуации.



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
26
27
28
import java.util.ArrayList;
 
public class LifeCycle<T> implements Renewable
{
    private ArrayList<T> objects;
 
    public LifeCycle (final ArrayList<T> objects)
    {
        this.objects = objects;
    }
 
    @Override
    public void update(double dt)
    {
        deleteDeathEnimals();
    }
 
    private void deleteDeathObjects()
    {
        for (int i = 0; i < this.objects.size(); i++)
        {
            if (this.objects.get(i).getHealth() <= 0) // <-----
            {
                this.objects.remove(i);
            }
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.12.2021, 14:53
Ответы с готовыми решениями:

Создать generic - класс
1) разработать Generic-класс, который возвращает копию входной группы с инвертированным порядком элементов. В качестве параметра класс...

Разработать Generic класс
Разработать Generic-класс, позволяющий работать с группами объектов по варианту (добавлять, удалять и т.д.). В качестве параметра класс...

Создать Generic класс
Создать generic класс где вводится массив, перемешивается и выводится, где присутствует тип данных T (т.е. может быль любым) public class...

3
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
27.12.2021, 14:58
T extends LivingBeing
1
1 / 1 / 0
Регистрация: 23.11.2020
Сообщений: 68
27.12.2021, 15:11  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
T extends LivingBeing
подскажите, пожалуйста, где это нужно прописывать?

LivingBeing -- это некоторый класс, который я должен создать сам, верно понимаю?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
27.12.2021, 15:25
Лучший ответ Сообщение было отмечено asdasd_mjeesh как решение

Решение

Java
1
2
3
4
5
interface LivingBeing {
  int getHealth();
}
 
class LifeCycle<T extends LivingBeing> ...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2021, 15:25
Помогаю со студенческими работами здесь

Как сделать generic класс, который будет принимать в качестве параметра только числа и уметь их складывать и т.д?
Я хочу написать класс дерева отрезков в который можно передавать любые числа, однако даже T extends Number мне не помогает, потому что для...

Generic types
Доброго времени суток! Имею следующее: ListOperator public final class ListOperator { /** * Returns max element in...

Generic Type
У меня есть package Жители. Есть еще два package. dogs, cats. Где есть классы Dog, Puppy &amp; Cat, Kitten. Которые имеют только конструкторы...

Java generic
Подскажите как правильно вывести матрицу из public GenericMatrix&lt;?&gt; add(GenericMatrix&lt;?&gt; A, GenericMatrix&lt;?&gt; B). как вызвать это в...

Массив в java generic
Выдает ошибку когда заполняю массив рандомными числами, ожидает тип Т, а приведен double. Подскажите как исправить, привести к одному...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
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 19.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 физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru