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是很确定容器里面的类型,取出的时候可以直接使用,不用转换。。。