Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как интерпретировать этот код? java generics 
:(
    Опции темы
Evgenic
Дата 22.11.2010, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



что-то в голове не укладывается вот такое: 
Код

public interface TypesafeMap<BASE> {
 
  public interface Key<BASE,VALUE> { }
  
  public <VALUE, KEY extends Key<BASE,VALUE>> VALUE  get(Class<KEY> key);

...

}


Как с этим работать и для чего это нужно? Причем NetBeans подсвечивает вот такой вызов в качестве ошибки:
Код

int dep1idx = dep1lab.get(IndexAnnotation.class);// <- incompatible types
//dep1lab - объект реализующий вот такой интерфейс:
//   public interface CoreMap extends TypesafeMap<CoreMap> { }


Но все компилируется при этом.

Вот сопутствующие объявления
Код

public class CoreAnnotations {

    private CoreAnnotations() {} // only static members
    ...
    public static class IndexAnnotation implements CoreAnnotation<Integer>     {
        public Class<Integer> getType() {  return Integer.class; } }
    ...
    // тут еще с полсотни таких же public static class ХХХAnnotation...
}

Код

public interface CoreAnnotation<V>  extends TypesafeMap.Key<CoreMap, V> {

  public Class<V> getType();
}


PM MAIL   Вверх
Skipy
Дата 22.11.2010, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 6
Всего: 16



Согласно Вашим объявлениям вместо IndexAnnotation.class должен стоять Integer.class.

А зачем это нужно - спросите у того, кто придумывал.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0829 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.