Java how to handle “Unchecked cast” for Array from Object

后端 未结 3 1260
陌清茗
陌清茗 2020-12-19 17:22

In my Android project I have made an abstract AsyncTask class in which I input the URL and if needed paging information so I don\'t need to keep writing the HTTP stuff etc.<

3条回答
  •  悲&欢浪女
    2020-12-19 18:18

    You can't avoid the warning, but you can hide it with a @SuppressWarnings annotation. Try this:

    new SuperCoolAsyncTask() {
          @Override
          @SuppressWarnings("unchecked")
          protected void onAsyncTaskResult(Object o) {
              if(o instanceof ArrayList) {
              //generates warning in the following line
              AppConstants.scoreStatistics = (ArrayList)o;
          }
       }
    }.execute(get_url_score_statistics());
    

    The other option, if you're really worried about type safety, is to leave the generic unspecified (i.e. only cast to ArrayList, not ArrayList, and then cast each element as you remove it.

提交回复
热议问题