Object 轉換 List「Object」

使用場景

 List<User> users = (List<User>) Obj;

使用的時候IDEA會提示警告 說未檢查類型.

解決辦法

  1. 使用@SuperWarning({“unchecked”})進行壓制
  2. 寫個工具類進行轉換

方法1

 @SuperWarning({"unchecked"})
 List<User> users = (List<User>) Obj;

方法2

   public static <T> List<T> objConvertList(Object obj, Class<T> clazz) {
        List<T> result = new ArrayList<>();
        if (obj instanceof List<?>) {
            for (Object o : (List<?>) obj) {
                result.add(clazz.cast(o));
            }
            return result;
        }
        return null;
    }

注:

個人不喜歡使用註解消除警告,因爲覺得這個消除了,但是仍然存在隱患. 所以選擇使用靜態方法進行轉換. 結果可控.

寫在最後

本人爲純小白,所寫的博客也是因爲學習使用中遇到的問題進行查找資料然後解決後才編寫的,其中如果有某些有錯誤,或者涉及侵權的請聯繫我,

QQ : 994961015
E-mail: [email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章