powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Определение новых типов
18 сообщений из 18, страница 1 из 1
Определение новых типов
    #37934095
ErikI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Хочу узнать можно ли в java определять свои типы, вроде этого:
Код: java
1.
TListTable = ArrayList<HashMap<Integer, TFields>>;
...
Рейтинг: 0 / 0
Определение новых типов
    #37934109
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
class TListTable extends ArrayList<HashMap<Integer, TFields>>{
}
...
Рейтинг: 0 / 0
Определение новых типов
    #37934180
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErikI,
ErikITListTable
Делфи?
...
Рейтинг: 0 / 0
Определение новых типов
    #37934212
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerДелфи?
Нет, кэп. Это - PHP. Ну где ещё все типы с T начинаются?
...
Рейтинг: 0 / 0
Определение новых типов
    #37934231
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

тогда может новый тип и не надо, может будет достаточно и этого:
Код: java
1.
ArrayList<HashMap<Integer, TFields>> tableList = new ArrayList<HashMap<Integer, TFields>>() ;
...
Рейтинг: 0 / 0
Определение новых типов
    #37934284
ErikI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapecker,

Так и было сделано, но более читаемо так:
Код: java
1.
TListTable ListTable = new TListTable();

Чем так:
Код: java
1.
ArrayList<HashMap<Integer, TFields>>  ListTable = new ArrayList<HashMap<Integer, TFields>>();


Переучиваюсь с Delphi на Java.
...
Рейтинг: 0 / 0
Определение новых типов
    #37934326
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerтогда может новый тип и не надо

Не надо, конечно. Но автор об этом вроде не спрашивал.

javapecker, может будет достаточно и этого:
Код: java
1.
ArrayList<HashMap<Integer, TFields>> tableList = new ArrayList<HashMap<Integer, TFields>>() ;


Трудно не согласиться.
...
Рейтинг: 0 / 0
Определение новых типов
    #37934338
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErikIТак и было сделано, но более читаемо так:
Код: java
1.
TListTable ListTable = new TListTable();

Чем так:
Код: java
1.
ArrayList<HashMap<Integer, TFields>>  ListTable = new ArrayList<HashMap<Integer, TFields>>();



Нет это совсем не более читаемо. Так же как и менее модифицируемо.
- Нормальная IDE спрячет повторное описание генерика в new. Даже когда-то предлагали это в язык добавить. Но не срослось.
В вашем варианте
- Вы не видите чем наполнять переменную - надо смотреть объявление класса. Привыкнуть к генерикам сможете быстро. Просто надо дать им шанс.
- Вы привязываетесь к конкретному типу. Гораздо логичнее как можно больше использовать объявления вида
List<Map<Integer, TFields>> , потому что всегда можно заменить реализацию.
- Ну, и просто в Java не принято создавать классы только для того чтобы спрятать генерики. Они достаточно редко бывают двух и трех этажными.
- Стоит ознакомиться с общепринятыми Java Coding Convention (Oracle, Google, Apache), а не писать всё в стиле Delphi.
...
Рейтинг: 0 / 0
Определение новых типов
    #37934593
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
BlazkowiczДаже когда-то предлагали это в язык добавить. Но не срослось.
В седьмой джаве же вроде даймонд <> появился наконец-то.
...
Рейтинг: 0 / 0
Определение новых типов
    #37934594
dexsu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapecker,

Код: java
1.
List<String> list = new LinkedList<>();
...
Рейтинг: 0 / 0
Определение новых типов
    #37934595
dexsu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это для JDK 7
...
Рейтинг: 0 / 0
Определение новых типов
    #37934597
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexsu, я так и написал
...
Рейтинг: 0 / 0
Определение новых типов
    #37934598
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только такое
Код: java
1.
ArrayList<HashMap<Integer, TFields>>


она не проглотит
...
Рейтинг: 0 / 0
Определение новых типов
    #37938912
rfq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerтолько такое
Код: java
1.
ArrayList<HashMap<Integer, TFields>>


она не проглотит

Пробельчик вставьте:

Код: java
1.
ArrayList<HashMap<Integer, TFields> >
...
Рейтинг: 0 / 0
Определение новых типов
    #37939019
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rfq, я уже проверил что проглотит, но при чем тут пробельчик?
...
Рейтинг: 0 / 0
Определение новых типов
    #37939354
dexsu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapeckerтолько такое
Код: java
1.
ArrayList<HashMap<Integer, TFields>>


она не проглотит

Может стоит посмотреть в сторону com.google.common.collect.Table ?
...
Рейтинг: 0 / 0
Определение новых типов
    #37939621
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErikIХочу узнать можно ли в java определять свои типы Антишаблон pseudo-typedef
...
Рейтинг: 0 / 0
Определение новых типов
    #37940172
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman, в 7 джаве вывод типов работает нормально
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Определение новых типов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]