| 
 | 
| 
 
Как правильно сделать Cast 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Коллеги, как правильно сделать cast, чтобы погас Unchecked cast warning Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 15.02.2021, 17:08 | 
  
  
  
   | 
||
| 
 
Как правильно сделать Cast 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Zzz79 Mixrud Коллеги, как правильно сделать cast, чтобы погас Unchecked cast warning Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. никак в твоем случае,грубо говоря у тебя есть некий супер класс Animal и два наследника CAT и DOG по сути для компилятора твой каст выглядит как собака в кота,поэтому и горит варнинг Вообще мимо. Warn в данном случае связан с тем, что DbContext это generic. В runtime типы-параметры получить нельзя, поэтому нет гарантий, что значение действительно будет содержать DbContext <T> , а не от какого-нибудь другого типа (такая ситуация называется Heap pollution (https://en.wikipedia.org/wiki/Heap_pollution)) И его в данном примере вообще нельзя убрать. Сам warn можно убрать, используя cast с wildcart параметром (e.g. DbContext <?> ), но, естественно, такое изменение сделает код некомпилируемым. Так что просто использовать @SuppressWarning("unchecked") (если не путаю), если глаза мозолит ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.02.2021, 19:21 | 
  
  
  
   | 
||
| 
 
Как правильно сделать Cast 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Zzz79 Lelouch пропущено... Вообще мимо. Warn в данном случае связан с тем, что DbContext это generic. В runtime типы-параметры получить нельзя, поэтому нет гарантий, что значение действительно будет содержать DbContext <T> , а не от какого-нибудь другого типа (такая ситуация называется Heap pollution (https://en.wikipedia.org/wiki/Heap_pollution)) И его в данном примере вообще нельзя убрать, не меняя остальной код. Сам warn можно убрать, используя cast с wildcart параметром (e.g. DbContext <?> ), но, естественно, такое изменение сделает код некомпилируемым. Так что просто использовать @SuppressWarning("unchecked") (если не путаю), если глаза мозолит написал тоже самое что и я) согласен что может чуть мимо( так как действительно в рантайме не понятно что за тип придет),но если автор это без дженериков изобразит- он получит ошибку,так как в его коде кастуется собака в кошку . Но warn не будет, если использовать типы без параметров) Если каст не выполнится, то будет ClassCastException в рантайме и все. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.02.2021, 19:31 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&msg=40046412&tid=2120522]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    15ms | 
check forum access:  | 
    5ms | 
check topic access:  | 
    5ms | 
track hit:  | 
    53ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    47ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 231ms | 
| total: | 384ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.