Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
hVostt
Member

Откуда:
Сообщений: 17493
mayton,

Насколько я понял можно только если сделать так

ArrayList<Float> listOfNumbers = new FloatList();
28 апр 20, 18:00    [22124359]     Ответить | Цитировать Сообщить модератору
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
mayton
Member

Откуда: loopback
Сообщений: 46600
Автор хочет в рантайме определять тип коллекции.

boolean isFoo(List<T> list)


Если в list все объекты типа Foo - то предикат должен вернуть true.
28 апр 20, 18:30    [22124381]     Ответить | Цитировать Сообщить модератору
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
mayton
Member

Откуда: loopback
Сообщений: 46600
hVostt
mayton,

Насколько я понял можно только если сделать так

ArrayList<Float> listOfNumbers = new FloatList();


Скорее вот так.

FooList list = new FooList();

Тогда точно сработает.
28 апр 20, 18:40    [22124392]     Ответить | Цитировать Сообщить модератору
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
hVostt
Member

Откуда:
Сообщений: 17493
mayton,

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

Потому что ArrayList<Float> и ArrayList<Integer> это один и тот же тип.

Короче я нубас в java, не обращайте внимания )
29 апр 20, 00:02    [22124600]     Ответить | Цитировать Сообщить модератору
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
mayton
Member

Откуда: loopback
Сообщений: 46600
Наверное в scala (pattern matching) решение было бы какраз то что искал автор.
29 апр 20, 10:21    [22124723]     Ответить | Цитировать Сообщить модератору
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
забыл ник
Member

Откуда:
Сообщений: 3292
mayton
Наверное в scala (pattern matching) решение было бы какраз то что искал автор.

Не совсем, простой паттерн матчинг там также не сработает, потому что JVM. Но обойти эту проблему можно, интересующиеся найдут в гугле как.
Но в лююом случае паттерн-матчинг тут не при чем. В Scala DTO классы реализуются через case class конструкцию, которая представляет собой ADT(algebraic data type), на основе которого можно написать очень generic код. В принципе в Scala нет особого различия между case class User(name: String, age:Int), case class Employee(name: String, age:Int) и даже простой Tuple ("mayton", 18). Ты просто пишешь как должен десериализовываться String и как Int, а все остальное на себя берет компилятор скалы
29 апр 20, 12:12    [22124802]     Ответить | Цитировать Сообщить модератору
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
mayton
Member

Откуда: loopback
Сообщений: 46600
забыл ник
mayton
Наверное в scala (pattern matching) решение было бы какраз то что искал автор.

Не совсем, простой паттерн матчинг там также не сработает, потому что JVM.

Не согласен с отсылкой на JVM. Я думаю что JVM здесь - вторична. А первичны
законы и гарантии которые касаются типизаций. Вот если Стас - декларирует
все возможные типы которые существуют в его системе (а он это знает) то
мы можем предполагать что мы в состоянии написать логику не на рефлексиях
а имеено на сведеньях о типе который известен на момент фазы компилляции.
29 апр 20, 12:49    [22124831]     Ответить | Цитировать Сообщить модератору
 Re: Проверка Generic коллекции на принадлженость к определенному инстансу  [new]
забыл ник
Member

Откуда:
Сообщений: 3292
mayton
забыл ник
пропущено...

Не совсем, простой паттерн матчинг там также не сработает, потому что JVM.

Не согласен с отсылкой на JVM. Я думаю что JVM здесь - вторична. А первичны
законы и гарантии которые касаются типизаций. Вот если Стас - декларирует
все возможные типы которые существуют в его системе (а он это знает) то
мы можем предполагать что мы в состоянии написать логику не на рефлексиях
а имеено на сведеньях о типе который известен на момент фазы компилляции.

Так я тебе о том и говорю, просто паттерн матчинг тут не при чем. Это просто работает через другой механизм.
А вот при попытке использовать паттерн матчинг получишь жесткий отлуп от JVM
29 апр 20, 12:53    [22124834]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Java Ответить