Объект класса универсального класса (Java)

Используйте этот плагин:

$.fn.toggleCheck  =function() {
       if(this.tagName === 'INPUT') {
           $(this).prop('checked', !($(this).is(':checked')));
       }

   }

Затем

$('#myCheckBox').toggleCheck();
51
задан 3 July 2009 в 02:06
поделиться

5 ответов

как насчет

(Class<List<Object>>)(Class<?>)List.class
66
ответ дан 7 November 2019 в 09:59
поделиться

Как упоминалось в других ответах, Class представляет собой стертый тип. Чтобы представить что-то вроде ArrayList , вам нужен Тип . Простой способ получить это:

new ArrayList<Object>() {}.getClass().getGenericSuperclass()

API универсального типа, представленные в 1.5, относительно легко найти.

6
ответ дан 7 November 2019 в 09:59
поделиться
List.class

конкретный тип универсальных шаблонов "стирается" во время компиляции.

0
ответ дан 7 November 2019 в 09:59
поделиться

Из-за стирания типа на уровне класса все List интерфейсы такие же. Они отличаются только во время компиляции. Таким образом, вы можете иметь Class как тип, где List.class относится к этому типу, но вы не можете получить более конкретную информацию, чем это, потому что они не являются отдельными классами , просто объявления типов, которые стираются компилятором в явное приведение типов.

10
ответ дан 7 November 2019 в 09:59
поделиться

Вы можете получить объект класса для типа List, используя:

Class.forName("java.util.List")

или

List.class

Но поскольку дженерики java реализованы с использованием стирания , вы не можете получить специализированный объект для каждый конкретный класс.

0
ответ дан 7 November 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: