|
|
|
Разница между <T> и <?>
|
|||
|---|---|---|---|
|
#18+
Всем привет! Объясните, пожалуйста, на примере ниже отличия при использовании <T> и <?>. static void shapeDraw(List<? extends shapeClass> c){ c.forEach((o) -> { o.printShapeName(); }); } static <T extends shapeClass> void shapeDraw2(List<T> c){ c.forEach((o) -> { o.printShapeName(); }); } Когда нужно использовать <T>, а когда <?> ? В чём принципиальные отличия? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 10:18 |
|
||
|
Разница между <T> и <?>
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. Ключевая разница в том что wildcard ? это любой тип, что накладывает ограничения на вызов параметризированых методов. А generic Т - это конкретный тип, который компилятору будет известен во код, который этот метод вызывает. Компилятор знает что и в списке и в переменной у нас одинаковый тип и даёт вызвать метод add(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 12:20 |
|
||
|
Разница между <T> и <?>
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, мой пример реализован и с <T> и с <?>. Результат одинаковый. У вас есть пример, который хорошо показывает, где лучше применять <T>, а где с <?>? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 14:54 |
|
||
|
Разница между <T> и <?>
|
|||
|---|---|---|---|
|
#18+
Molasarгде лучше применять <T>, а где с <?>? необходимость гибкого кода не так то просто обосновать и доказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 15:38 |
|
||
|
Разница между <T> и <?>
|
|||
|---|---|---|---|
|
#18+
В данной ситуации годятся оба варианта. А вот если бы вам надо было вернуть в качестве результата элемент списка, поданного параметром, то надо было бы обозначить тип возвращаемого значения, а это позволяет только вариант с Т. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 15:39 |
|
||
|
Разница между <T> и <?>
|
|||
|---|---|---|---|
|
#18+
MolasarBlazkowicz, мой пример реализован и с <T> и с <?>. Результат одинаковый. Я за вас очень рад. MolasarУ вас есть пример, который хорошо показывает, где лучше применять <T>, а где с <?>? А я что вам привел??? Всегда используйте T. ? почти бесполезен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2017, 18:00 |
|
||
|
Разница между <T> и <?>
|
|||
|---|---|---|---|
|
#18+
Molasar Когда нужно использовать <T>, а когда <?> ? В чём принципиальные отличия? Спасибо. Если есть желание разобраться, то можно почитать тут . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2017, 10:46 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39482169&tid=2122793]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 328ms |

| 0 / 0 |
