日期:2014-05-18  浏览次数:20732 次

关于LIST的取值问题!
我在JSP中做好了所有的工作,现在值是放在LIST中的,像这样取值的时候
String   s   =   list.get(i).toString();
s里面是“类名.方法名.5a2eaa,类名.方法名.5a2ebb,类名.方法名.5a2ecc”
这样的值,要怎么取才能吧这些值变成我想要的呢??

还有,我要吧这些值放进Select标签里面去。是这样做的
                <%
                    for   (int   i   =   0;   i   <   list.size();   i++)   {
                        String   s   =   list.get(i).toString();
                        out.println( " <option> "   +   s   +   " </option> ");
                    }
                %>
得到的值不会换行,这是为什么?
请大家指点迷津!!!

------解决方案--------------------
关注..我也遇到.不过我自己加上了一个\n来解决.应该有别的不用加\n来解决的方法吧
------解决方案--------------------
debug一下
你放的时候,放进去的是什么值
然后
如果值是正确的
接着看下去
你应该放进去的是一个对象是吧?
那么取出来的话
应该list.get(i)强制转换为这个对象
然后再取这里的方法应该就好了

------解决方案--------------------
List l = 你的list
Iterator it = l.iterator();
while(it.hasNext()){
你的VO rv = (你的VO)it.next();
rv.getXXX();
}
------解决方案--------------------
可能传进去list了一个类,然后又用toString输入,同时没有重写类里面的toString方法,所以转换出来的String值是“类名.方法名.5a2eaa”
------解决方案--------------------
ClassCastException!!
转型错误~你放进去的对象不是目标类型的实体
------解决方案--------------------
哪有你这么弄的啊
..................
------解决方案--------------------
我猜是你的这个类里面没有重写toString方法,所以你这样直接.toString();的话应该得到的是一个地址“eafaef***”之类的东西;得到的就是就是一个表示地址的字符串,还换啥行呢?

按照楼上的哥们说的 做强制类型转化出来~~~每个分别取~~

不知道是不是这样的状况~~~

------解决方案--------------------
List放进去的都是对象啊
基本数据类型不用强制转换
但是非基本数据类型就需要强制转换了

你放进去的肯定不是基本数据类型
所以必须转换的
照着楼上的做就行了
------解决方案--------------------
Java2容器类类库的用途是“保存对象”,它分为两类:

  Collection----一组独立的元素,通常这些元素都服从某种规则。List必须保持元素特定的顺序,而Set不能有重复元素。

  Map----一组成对的“键值对”对象,即其元素是成对的对象,最典型的应用就是数据字典,并且还有其它广泛的应用。另外,Map可以返回其所有键组成的Set和其所有值组成的Collection,或其键值对组成的Set,并且还可以像数组一样扩展多维Map,只要让Map中键值对的每个“值”是一个Map即可。

  1.迭代器

  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

  Java中的Iterator功能比较简单,并且只能单向移动:

  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。

  (2) 使用next()获得序列中的下一个元素。

  (3) 使用hasNext()检查序列中是否还有元素。

  (4) 使用remove()将迭代器新返回的元素删除。

  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

  2.List的功能方法

  List(interface): 次序是List最重要的特点;它确保维护元素特定的顺序。List为Collection添加了许多方法,使得能够向List中间插入与移除元素(只推荐LinkedList使用)。一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和删除元素。

  ArrayList: 由数组实现的List。它允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。ListIterator只应该用来由后向前遍历ArrayList,而不是用来插入和删除元素,因为这比LinkedList开销要大很多。

  LinkedList: 对顺序访问进行了优化,向List中间插入与删除得开销不大,随机访问则相对较慢(可用ArrayList代替)。它具有方法addFirst()、addLast()、getFirst()、getLast()、removeFirst()、removeLast(),这些方法(没有在任何接口或基类中定义过)使得LinkedList可以当作堆栈、队列和双向队列使用。