❶ java中list集合用foreach輸出
List集合中存儲的是Object類型的對象,而非直接的String類型。因此,在使用foreach遍歷List時,不能直接將List的元素類型聲明為String,而應保持為Object類型。例如:
List<Object> list = new ArrayList<Object>();
list.add("asd");
list.add("sad");
list.add("sad");
for(Object s : list) {
System.out.println(s);
}
在上述代碼中,我們首先創建了一個Object類型的List集合,並添加了三個String類型的字元串。然後,我們使用foreach循環遍歷這個List,並將每個元素作為Object類型處理,最後通過System.out.println()輸出每個元素。
如果嘗試將List的元素類型聲明為String,如以下代碼所示:
List<String> list = new ArrayList<String>();
list.add("asd");
list.add("sad");
list.add("sad");
for(String s : list) {
System.out.println(s);
}
雖然編譯器不會報錯,但實際上這並不會解決問題。因為在這種情況下,編譯器會在編譯時進行類型檢查,但運行時仍會將List中的Object類型元素強制轉換為String類型。這可能導致運行時異常,特別是在List中存儲的元素並非都是String類型時。
因此,在使用foreach遍歷List時,請確保List的元素類型與循環中的變數類型一致,以避免潛在的運行時問題。
❷ java如何取得Object中的值
for(Object object : list) {
Map entry = (Map)object;
值 = entry.get(『欄位名』);}
象(object),台灣譯作物件,是面向對象(ObjectOriented)中的術語,既表示客觀世界問題空間(Namespace)中的某個具體的事物,又表示軟體系統解空間中的基本元素。定義一個嵌入的對象。請使用此元素向您的 XHTML 頁面添加多媒體。
❸ java 想要取出 List裡面 Object里的只有個值,求教怎麼獲得這個值
Listlist=newArrayList();
list.add(123);
list.add(456);
list.add("abc");
list.add("def");
//直接遍歷輸出元素
for(Objecto:list){
System.out.println(o);
}
for(Objecto:list){
System.out.println(o.getClass().getName());
}
/*
*如果要操作的話就必須知道取出元素的類型,通過上面的代碼我們會發現其實list中元素的類型是不一樣的
*如何判斷類型我們常用的就是instanceof關鍵字來判斷,找到符合要求的就進行強轉
*如果類型不符合就強轉這個地方是拋異常的,所以要加判斷
*下面舉個例子,獲取第三個元素,判斷是否為字元串,並強轉為字元串
**/
Objectobj=list.get(2);
if(obj!=null&&objinstanceofString){
Stringstr=(String)obj;//此時str就是String類型的了,我們就可以直接操作了
}
下面是運行的結果
123
456
abc
def
java.lang.Integer
java.lang.Integer
java.lang.String
java.lang.String