導航:首頁 > 編程語言 > javalist類型轉換

javalist類型轉換

發布時間:2022-03-31 17:48:15

『壹』 java 關於List類型轉換

編譯不通過的原因是返回值類型不匹配,不能直接將返回的父類型對象賦給子類型引用。如果對象確實是子類對象,那麼你可以用強制類型轉換(List<B> resultList=(List<B>)excute(blist);),如果不是的話那你從一開始就不應該這樣用。

『貳』 java怎麼把list轉換成類

List的對象本身就是類,,,,,,,,不知道是說要如何轉換呢

『叄』 java:集合之間的強制類型轉換是如何實現的 ,最好舉個例子

jdk中有個集合的幫助類Collections有些方法可能是你想要的,Arrays有個asList可以將一個數組轉成List集合。自己多查查JDK會對你有幫助的

『肆』 java-List<實體>怎麼轉換成List<Object>

實體類型如果為數組的話,可以直接通過list的add方法進行添加轉換,舉例:
List<Object[]> list = new ArrayList<Object[]>();//定義一個數組類型的list對象
String[] entity = new String[10];//創建一個要實體化的數組對象
entity[0] = "1232";//給數組賦值
list.add(entity );給list對象賦值,這樣就完成了對象的轉換
可以獲取到list的值:list.get(0),結果就是entity 對象。
備註:因為Object類型是任何對象類型的父類,所以不需要強制轉換即可完成添加。

『伍』 java "[a,b,c]" 類型字元串如何轉成 list 即[a,b,c]格式

這樣的我們只有自己寫代碼分割,首先我們提取[]裡面的內容,然後使用,分割成數組,然後轉在list
代碼如下:
String demo = "[a,b,c]";
String demosub = demo.substring(1,demo.length()-1);
String demoArray[] = demosub.split(",");
List<String> demoList = Arrays.asList(demoArray);
for (String str:demoList) {
System.out.println(str);
}

『陸』 在java中如何把list轉換成List<>

Java在JDK1.4之後,提供了泛型功能,可以在運行之前確定運行類型,同樣也可以運用到集合當中,通過泛型,支持在集合裡面在套用集合,代碼:
ArrayList<ArrayList<String>> listall = new ArrayList<ArrayList<String>>();
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
ArrayList<String> list3 = new ArrayList<String>();
listall.add(list1);
listall.add(list2);
listall.add(list3);
這樣就可以把3個list放到一個list裡面。

『柒』 arraylist-java中List怎麼轉為ArrayList

/*
List是個介面,是所有list集合的老大,如果你想把大哥強行轉換成小弟:
有兩種情況:

1.可行:但是需要你主觀上一定知道集合類型

List<String>list=newArrayList<>();//聲明用的是大哥,實際對象是小弟ArraList;

ArrayList<String>arrList=(ArraList<String>)list;//這么做,向下強行轉換是可以的!


2.不可行:假如你不知道集合類型

List<String>list=newLinkedList<>();//聲明用的是大哥,實際對象是小弟LinkedList;

ArrayList<String>arrList=(ArraList<String>)list;//這情況,編譯都不會報錯,只有
運行時候才會報錯!java.lang.ClassCastException類型轉換異常!

3:可行:通殺
對於以上兩種情況:可以使用這個方法不錯,很簡單,等效淺復制!
不管聲明的是什麼List類型,都可以遍歷,在遍歷的過程中,給目標集合進行添加就可以了!
這最簡單了!也不會報錯!

好啦,以上就是我個人總結的,都測試過,確保無疑!不足之處還請指點!

*/

『捌』 請教java List 泛型轉換

如:List<String> list = new ArrayList<String>(); list.add("1");
list.add("2");
採用泛型寫法後,list想加入一個Integer類型的對象時會出現編譯錯誤,通過List<String>,直接限定了list集合中只能含有String類型的元素,從而在後續如果進行for循環就無須進行強制類型轉換,因為此時,集合能夠記住元素的類型信息,編譯器已經能夠確認它是String類型了。

『玖』 java 怎麼把list轉換成數組

ArrayList<String> list=new ArrayList<String>();
String strings[]=(String [])list.toArray();
這樣寫代碼個人覺得應該沒什麼問題,編譯也沒有問題。可是具體運行的時候報異常,如下:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
但是這么寫是沒有問題的:
ArrayList<String> list=new ArrayList<String>();
String strings[]=new String[list.size()];
for(int i=0,j=list.size();i<j;i++){
strings[i]=list.get(i);
}
對於這個現象我們可以這么解釋:Java中允許向上和向下轉型,但是這個轉型是否成功是根據Java虛擬機中這個對象的類型來實現的。Java虛擬機中保存了每個對象的類型。而數組也是一個對象。數組的類型是[Ljava.lang.Object。把[Ljava.lang.Object轉換成[Ljava.lang.String是顯然不可能的事情,因為這里是一個向下轉型,而虛擬機只保存了這是一個Object的數組,不能保證數組中的元素是String的,所以這個轉型不能成功。數組裡面的元素只是元素的引用,不是存儲的具體元素,所以數組中元素的類型還是保存在Java虛擬機中的。
根據上面的解釋,我們可以把這個問題歸納到下面這個模型:
Object objs[]=new Object[10];
String strs[]=(String[])objs;
這樣子和剛才上面編譯錯誤是一樣的。如果我們修改一下這個代碼,如下:
String strs[]=new String[10];
Object objs[]=strs;
這樣子就可以編譯通過了。所以這個問題我們可以歸結為一個Java轉型規則的問題。下面談一下Java數組對范型的支持問題。
JDK5中已經有了對范型的支持,這樣可以保證在集合和Map中的數據類型的安全,可是,List的toArray方法返回的竟然是Object []讓人很迷惑。個人感覺應該可以根據范型,直接返回相應的T []。仔細看了一下JDK的發現List轉化為array有兩個方法:
public Object[] toArray();
這個方法把List中的全部元素返回一個相同大小的數組,數組中的所有元素都為Object類型。
public <T> T[] toArray(T[] a);
這個方法把List中的全部元素返回一個相同大小的數組,數組中的所有元素都為T類型。
List如此設計是因為Java編譯器不允許我們new范型數組。也就是說你不能這么定義一個數組:
T arr=new T[size];
但是你卻可以用T[]來表示數組,而且可以把數組強制轉化為T[]。比如List中的public <T> T[] toArray(T[] a)是這么實現的:
public <T> T[] toArray(T[] a) {
if (a.length < size)
a = (T[])java.lang.reflect.Array.
newInstance(a.getClass().getComponentType(), size);
System.array(elementData, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
從上面代碼中可以看到,因為你不知道這個數組的類型,你必須通過反射機制創建這個數組(a.getClass().getComponentType()方法是取得一個數組元素的類型)。
最終,List轉換為Array可以這樣處理:
ArrayList<String> list=new ArrayList<String>();
String[] strings = new String[list.size()];
list.toArray(strings);
反過來,如果要將數組轉成List怎麼辦呢?如下:
String[] s = {"a","b","c"};
List list = java.util.Arrays.asList(s);

閱讀全文

與javalist類型轉換相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:61
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1002
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:592
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:399
夢幻端游長安地圖互通源碼 瀏覽:745
電腦本地文件如何上傳伺服器 瀏覽:313