listobjectjava
1. java的List與List<object>什麼區別
public class List extends Componentimplements ItemSelectable, Accessible
這個List是一個控制項(列表框),它為用戶提供了一個可滾動的文本項列表。通過設置List,允許用戶進行單項或多項選擇。現在一般不使用它了,現在使用的是類public class JList extends JComponent implements Scrollable, Accessible。
public interface List<E> extends Collection<E>
這個List是一個泛型介面,根據定義時指定的類型,可以添加不同類型的元素,例如:
List<Object> l1=new ArrayList<Object>();
l1.add(new Object());
List<String> l2=new ArrayList<String>();
l2.add("java");
l2.add("程序設計");
2. java Object對象可以塞進list類型嗎
可以的 所有的類都繼承於Object
3. java 中 List<Object []>的用法
List可以理解為沒有長度限制的數組,<>內填寫泛型(就是數據類型),如List<Integer> list=new List<Integer>();添加方法list.add(1);獲取方法list.get(0);移除方法list.remove(0);
4. java 將Object轉成List
通常我們遇到這個問題是出現在Object轉化為目標類型時,這個轉化並不是安全的。
這個問題普遍認為因為使用了jdk1.5或者1.6的泛型,request.getAttribute("***")得到的是一個默認為Object的類型,當把他們轉成List<***>時,編譯器認為有可能會出錯,所以提示這個類型安全。
以下是大家普遍用的取消警告的方法(不過危險並沒有解除):
一、方法上添加@SuppressWarnings("unchecked")
二、Eclipse的Window->Preferences->Java->Compiler->Errors/Warning->Generic types中Unchecked generic type operation設置為Ignore。
三、Eclipse的Window->Preferences->Java->Compiler將Compiler compliance level 設置為小於1.5
(4)listobjectjava擴展閱讀:
@Override
public List<LocalObtMind> listByProperties(int start, int number) throws Exception {
String sql = "select * from (SELECT "
+ "decrypt_des(s.ddatetime, 'szmb#1601') ddatetime,"
+ "decrypt_des(s.obtid, 'szmb#1601') obtid,"
+ "decrypt_des(s.wd2df, 'szmb#1601') wd2df,"
+ "decrypt_des(s.t, 'szmb#1601') t,"
+ "decrypt_des(s.p, 'szmb#1601') p,"
+ "decrypt_des(s.hourr, 'szmb#1601') hourr "
+ "FROM t_LocalObtMind s) order by ddatetime desc ";
Query query = em.createNativeQuery(sql.trim());
query.setFirstResult(start);
query.setMaxResults(number);
List<Object> list = null;
List<LocalObtMind> list2 = new ArrayList<LocalObtMind>();
try{
list = query.getResultList();
for (int i = 0; i < list.size(); i++) {
LocalObtMind localObtMind = new LocalObtMind();
Object[] obj = (Object[])list.get(i);
localObtMind.setDdatetime(obj[0].toString());
localObtMind.setObtid(obj[1].toString());
localObtMind.setWd2df(obj[2].toString());
localObtMind.setT(obj[3].toString());
localObtMind.setP(obj[4].toString());
localObtMind.setHourr(obj[5].toString());
list2.add(localObtMind);
}
}catch(Exception e){
e.printStackTrace();
}
return list2;
}
5. JAVA中ArrayList是Object類型嗎
看你創建list的時候有沒有加范型進行約束.
比如list
list=new
arraylist();
這樣再取,就是object,需要類型轉換,如果是list
list=new
arraylist
();這樣list里就只能放string,再取的時候就一定是string.
可以換成別的范型也是一樣的.
6. java List<Object[]> 如何數據去重
list應該是有函數判斷某個key是否存在,可以看下文檔
list.contains(obj);
7. java list<object>如何去重
List<String>list=newArrayList<>();
/*list.add("abc");
list.add("abc");
list.add("def");
list.add("bcd");*/
Set<String>set=newLinkedHashSet<>();//這種方式保證去重後的元素相對位置不變
//Set<String>set=newHashSet<>();//這種方式去重後元素的位置很有可能變化了
set.addAll(list);
list.clear();
list.addAll(set);
for(Strings:list){
System.out.println(s);
}
整個思路就是利用set中的元素是不重復的,來達到去重的目的
8. java List<T>和List<Object>的區別
//List<T>的T表示的是某一類型可以用人一類型來替代,一般在定義的時候使用
//List<Object>就是具體的了表示這個List里只能放置Object
publicstatic<T>List<T>test(Tt){
//現在T是什麼類型誰都不知道,編譯器在編譯的時候也是不知道的,只有在runtime時才知道
List<T>l=newArrayList<T>();
l.add(t);
System.out.println(t);
returnl;
}
publicstaticvoidmain(String[]args){
List<String>list1=test("String");
List<Integer>list2=test(10);
}
9. JAVA List<Object[]>取值問題
首先建議去看看Collection介面。然後看一下泛型。
三種遍歷方法:
一:採用
for(int i = 0 ; i <objListstaff.size(); i++ ){
Object[] tempObj = objListstaff.get(i);
system.out.print("技術部" + tempObj[0] + "————" + "銷售部" + tempObj[1] );
}
二:採用迭代器
for (Iterator iterator = objListstaff.iterator(); iterator.hasNext();) {
Object[] tempObj = ( Object[]) iterator.next();
system.out.print("技術部" + tempObj[0] + "————" + "銷售部" + tempObj[1] );
}
三:採用foreach循環
for(Object[] tempObj : objListstaff){
system.out.print("技術部" + tempObj[0] + "————" + "銷售部" + tempObj[1] );
}
10. java中List<Object>和List有區別嗎
泛型加objec的話確實就沒意義了。。。
List是泛型類,如果直接使用的話,就是將泛型給擦除了,容器裡面就可以放任何類型的對象了,所以程序也不知道你裡面放的是什麼東西, 所以你每次取出來以後自己判斷是什麼類型,自己強制轉換。。。。
List list=new ArrayList();
User user=new User();
list.add(user);
User user2=(User)list.get(1);此處必須強制類型轉換。
而如果你使用了泛型,那麼你再往容易裡面放其他類型的數據是放不進去的,所以JVM是很確定容器裡面的類型,取出的時候可以直接使用,不用轉換。。。