Java 如何將List 轉為List型別
因在寫通用方法時有個需求,要將List<實體類> 轉為List<Object>型別,這樣方便統一處理。
於是就想當然的這麼強轉(Student為實體類):
List<Student> list = new ArrayList<Student>();
List<Object> objList = (List<Object>)list;
然而報錯:Cannot cast from List<Student> to List<Object>。
好吧,然後把程式碼改一下遍歷一個一個轉了:
import java.util.ArrayList; import java.util.List; public class ObjectList { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); // List<Object> objList = (List<Object>)list; //Cannot cast from List<Student> to List<Object> List<Object> objList = toObject(list); } static public <E> List<Object> toObject(List<E> list){ List<Object> objlist = new ArrayList<Object>(); for(Object e : list){ Object obj = (Object)e; objlist.add(obj); } return objlist; } }
有木有哪位好漢解釋下,這個報錯具體是為啥??
----------------------------------------------------------------------------------------------------------------------------tag
思考了好長時間,看了下java程式設計思想關於泛型的部分,有一丁點啟發吧,不知道對錯:
List<Object> 這裡面的型別Object並不是一個泛型,也不是作為一個所有型別的父類,僅僅只是一個具體的Object類而已,所以arrayList集合中實體的型別必須要是Object型別才行。而如果把List<Object>改為泛型List<T>的話就完美解決,它可以允許arrayList集合種類型為類和型別而無限制。
相關推薦
Java 如何將List 轉為List型別
因在寫通用方法時有個需求,要將List<實體類> 轉為List<Object>型別,這樣方便統一處理。 於是就想當然的這麼強轉(Student為實體類): List<Student> list = new ArrayList<S
Java Gson 使用,Gson將字串轉為list
Gson 是 Google 提供的用來在 Java 物件和 JSON 資料之間進行對映的 Java 類庫。可以將一個 JSON 字串轉成一個 Java 物件,或者反過來。 物件轉為字串 String ps =gson.toJson(person); 字串轉為物件 Pers
java 將map轉List物件
Collection<實體類> valueCollection2 = map2.values(); List<實體類> valueList= new ArrayList<Purcha
關於將陣列轉為list的方法Arrays.asList(arr)的缺陷
對於多數人來說,想要將某個陣列轉為List都會選擇Arrays類的asList()方法。其實這個方法並不能應付所有情況。請看下面的示例: package com; import java.util.Arrays; import java.util.List; publ
Java 將word轉為pdf jacob方式
name .aspx false quit void exception tof ant div package com.doctopdf; import java.io.File; import com.jacob.activeX.ActiveXComponent;
Java將一個基本資料型別轉換為String的方法及效率比較
把一個基本資料型別轉為字串型別,有三種方法。 假設a是integer型別的資料 方法1:a.toString(); 方法2:String.valueOf(a); 方法3:a+""; 效率比較: 方法1效率最快、其次到方法2、最後才是方法3; 原因: 1.a
oracle 將Number型欄位轉為時間型別 將毫秒轉為時間型別
將number型別轉成日期型別:如將毫秒轉日期 SELECT TO_CHAR(欄位名 / (1000 * 60 * 60 * 24) + TO_DATE(‘1970-01-01 08:00:00’, ‘YYYY-MM-DD HH24:MI:SS’), ‘YYY
Java將二進位制轉為ascii碼
public class ToAscii { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStrea
java將GBK轉為utf-8
/** * 將一個GBK編碼的txt文件轉化為UTF-8的XML檔案 * @author SUNBIN * */ public class ConvertXML { public static void main(String[] args) { getXML
Java 將Excel轉為圖片、html、XPS、XML、CSV
通過文件格式轉換,可滿足不同辦公場合對文件操作的需求。本文將介紹轉換Excel文件為其他常見文件格式的方法。通過文中的方法,可支援將Excel轉換為包括PDF、圖片、html、XPS、XML、CSV、PCL、ODS、PostScript、以及Office Excel不同版本,如,version97-2003,
java將"[a,b,c]" 型別字串轉成 list 即[a,b,c]格式
參考:https://zhidao.baidu.com/question/427016122.html String demo = "[a,b,c]"; String demosub = demo.substring(1,demo.length()-1); String demoArray[]
在將數組轉為list集合的時候,通過構造器創建集合是創建了一個引用,不會修改數組。
jpg 引用 集合 技術 pos 數組 alt .cn clas 在將數組轉為list集合的時候,通過構造器創建集合是創建了一個引用,不會修改數組。
【redis,1】java操作redis: 將string、list、map、自己定義的對象保存到redis中
n) spa 存儲 div ber sys mil 操作 write 一、操作string 、list 、map 對象 1、引入jar: jedis-2.1.0.jar 2、代碼 /
使用java8的lambda將list轉為map(轉)
實體 nts acc UNC illegal identity 簡潔 tps username 常用方式 代碼如下: public Map<Long, String> getIdNameMap(List<Account> accounts)
Java將List轉成String[] 以及將List轉成String
今天在做自然語言處理的使用用到了資料結構之間的轉換問題,現在將這一類問題的解決方法統一記錄,方便日後使用。 首先供上Java JDK8的API文件:https://docs.oracle.com/javase/8/docs/api/ 1.List轉String[] String []
將JPA出參Iterable轉為List
Iterable<Entity> geted = entityDao.findAll(); List<Entity> list = Lists.newArrays(
SWIG: Python的list轉為C++的char **型別
Converting Python list to a char ** A common problem in many C programs is the processing of command line arguments, which are usually
python中資料結構容器(list、dict、tuple、set)和C++、JAVA中的匯出資料型別, 陣列
list(列表):語法:列表形如 [1, 2, 3, 4] [‘小明’,‘小紅’,] ,用中括號括住,裡面是字串、布林,每一項逗號分開。 建立 宣告變數時 中括號、項,建立一個非空的列表。 num_list = [1,2,3,4] 建立一個空列表,之後再修改
java list轉為陣列以及hashmap對key排序的用法
java list轉為陣列的用法 List tlist=new ArrayList(); String[] sArray=new String[tlist.size()]; tlist.toArray(sArray); //geowave 中如下例子:分解多個G
Java將list資料取出並加入分隔符拼接,轉換成String
方法一: public String listToString(List list, char separator) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.size(); i++