Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319

Обобщенный метод

04.04.2015, 15:50. Показов 1611. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, не могу написать обобщенный метод , возвращающий сумму всех элементов двумерного массива , переданного как параметр в метод. Вот что получилось:
Java
1
2
3
4
5
6
7
8
9
    static<T> T sum(T array[][]){
        T summa;        
        for(int i = 0;i<array.length;i++){
            for(int j = 0;j<array.length;j++){
                summa+=array[i][j];//здесь ошибка
            }
        }
        return summa;
    }
Подскажите, как исправить ошибки, буду очень благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2015, 15:50
Ответы с готовыми решениями:

Обобщенный метод
class C&lt;T extends Number&gt; { private T o; private T o2; C(T o, T o2){ this.o = o; this.o2 = o2; }

Как использовать обобщенный метод в не-обобщенном классе?
Как реализовать обобщенное программирование (дженерики) для двух разных типов-интерфейсов, которые (методы которых) должны вызываться в...

Обобщенный класс
Здравствуйте, есть такая задача: Создать обобщенный класс для хранения произвольных данных в массиве. Реализовать функцию добавления...

5
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
04.04.2015, 16:12
kozak95, а как будет работать ваш метод если вы ему передадите массив объектов, которые нельзя просуммировать (для которых не перегружена операция "+")? Например, если передать в него:
Java
1
File[][] files = new File[2][2];
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
04.04.2015, 16:20  [ТС]
На сколько я знаю, java не поддерживает перегрузку операторов. А какой выход тогда из этой ситуации?. Массив надо объявлять конкретного типа?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
04.04.2015, 17:02
Цитата Сообщение от kozak95 Посмотреть сообщение
Массив надо объявлять конкретного типа?
да. Хотя можно использовать <T extends Number> тогда думаю можно будет складывать
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
04.04.2015, 17:15  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Хотя можно использовать <T extends Number> тогда думаю можно будет складывать
Не хочет так работать...
Java
1
2
3
4
5
6
7
8
9
    static<T extends Number> T sum(T array[][]){
        Integer summa;        
        for(int i = 0;i<array.length;i++){
            for(int j = 0;j<array.length;j++){
                summa+=array[i][j];
            }
        }
        return summa;
    }
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
04.04.2015, 17:37
kozak95, значит оператор не определен для этого класса. Может быть эта либа поможет
https://github.com/stefanmuenc... Arithmetic
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2015, 17:37
Помогаю со студенческими работами здесь

Массив ссылок на обобщенный тип с метасимволом
В книге Шилдта сказано, что Gen&lt;Integer&gt; gens = new Gen&lt;Integer&gt; // данное создание массива недопустимо, но если вместо Integer написать...

Вывод массива через обобщенный класс
Хелоу Есть следующая задача: Казалось бы все просто, написал следующий код: package generic;

Создание массива объектов класса, вложенного в обобщённый класс
Здавствуйте, проясните пожалуйста ситуацию. Внутри обобщённого класса я создал внутренний класс и пытаюсь создать массив объектов этого...

Обобщенный класс для числовых типов, ошибка "Incorventible types"
Подскажите как здесь выйти из положения. Округление чисел типа float и double, но я код почистил от лишнего, оставил только ошибку. Эти же...

Обобщенный метод преобразовать в метод с параметром типа
Добрый день! Есть метод: public void FillListAndDGV&lt;T&gt;(List&lt;Expression&lt;Func&lt;T, object&gt;&gt;&gt; Expr) where T : class ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru