| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10160 人关注过本帖
标题:List转换成String
只看楼主 加入收藏
lovemm
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:170
专家分:24
注 册:2008-11-4
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:7 
List转换成String
   我用一个List保存我在数据库读出来的数据,我是以List<String>=类对象.方法名(id)来读的,之后我用
        int y = lists.size();
        String[] s = new String [y];
        String []Name = (String[]) lists.toArray(s);
这来写,开始我是将这三句合为一句的,但由于出现错误,之后就这样写,我调试的时候,都有数据读到,就在最后一句的时候就报错啦,包的错误是
java.lang.ArrayStoreException,我这样写是根据网上资料写的,我自己在手动添加数据进去List,就是list.add
这样添加之后也同样用输出是可以的,但我是在读出数据库的数据怎么就有错误啦,请问是什么原因呢?

我想是我toArray的方法不会用,请问toArray是怎么用的呢

List我是这样new的  List lists = new ArrayList();

还有我突然想到,我在数据库读出来应该还是一个个bean对象的List,但我不是已经用泛型将它转成了String类型了吗,按道理应该是可以以数组方式读出来的,怎么就报错呢?

[ 本帖最后由 lovemm 于 2010-10-28 15:30 编辑 ]
搜索更多相关主题的帖子: String List 
2010-10-28 14:54
syg5434
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:山沟沟
等 级:版主
威 望:10
帖 子:285
专家分:781
注 册:2010-2-28
收藏
得分:3 
希望能对你有所帮助:
程序代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;

public class TestArr {
    public static void main(String[] args) {
        String[] str = { "abc", "def" };
        List list = new ArrayList();
        list.add("cba");
        list.add("fed");
        Object[] str1 = list.toArray();// 这里返回的是Object类型的数组,不能用强制转换,Object[]不能转换成String[],只能一个一个元素来转
        List list1 = Arrays.asList(str);// Arrays类中的asList()方法能把数组变为集合
        System.out.println(str1[0].toString());
        System.out.println(list1.contains("abc"));
    }
}

不要迷恋哥,嫂子会揍你。阿-弥-陀-佛--!
2010-10-28 16:16
jackieli2074
Rank: 6Rank: 6
来 自:上海
等 级:侠之大者
威 望:1
帖 子:183
专家分:494
注 册:2010-8-3
收藏
得分:3 
还是贴代码好,文字太多看了好晕。。。
2010-10-28 16:41
lovemm
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:170
专家分:24
注 册:2008-11-4
收藏
得分:0 
程序代码:
        List<String> lists =  as.getOne(id);
        int y = lists.size();
        String[] s = new String [y];
        String []Name = (String[]) lists.toArray(s);
        
这是我的,as.getOne(id)是重数据库里面拿出来,就运行错误啦

[ 本帖最后由 lovemm 于 2010-10-28 18:24 编辑 ]
2010-10-28 17:39
chenyiqing23
Rank: 2
等 级:论坛游民
帖 子:84
专家分:53
注 册:2007-12-27
收藏
得分:3 
你佛山的吗~~~交个朋友吧~~~大家都是编程的~~~QQ:68821039~~~
2010-10-29 01:08
lovemm
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:170
专家分:24
注 册:2008-11-4
收藏
得分:0 
以下是引用syg5434在2010-10-28 16:16:20的发言:

希望能对你有所帮助:import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
 
public class TestArr {
    public static void main(String[] args) {
        String[] str = { "abc", "def" };
        List list = new ArrayList();
        list.add("cba");
        list.add("fed");
        Object[] str1 = list.toArray();// 这里返回的是Object类型的数组,不能用强制转换,Object[]不能转换成String[],只能一个一个元素来转
        List list1 = Arrays.asList(str);// Arrays类中的asList()方法能把数组变为集合
        System.out.println(str1[0].toString());
        System.out.println(list1.contains("abc"));
    }
}
按照你 List list = new ArrayList();
Object[] str1 = list.toArray();
System.out.println(str1[0].toString());
我读出来的是我javabean的对象哦,我要怎么才可以读出数据库的信息啊
2010-10-29 14:01
lovemm
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:170
专家分:24
注 册:2008-11-4
收藏
得分:0 
我是这样读出来的
程序代码:
List list = ArrayList();
PreparedStatement ps = connection.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
       
        while(rs.next()){
                rs.getString("name");
        list.add(rs);
}
    return list;

servlet是
List<String> lists =  as.getOne(id);//as.as.getOne(id)是上面方法的名字
        

        String []Name =lists.toArray(new String [lists.size()]);

到Name就报错啦




我另外一个想法也错,我是想用String[]来代理用List来保存数据库读出的数据,代码如下:
程序代码:
String[] yi null;
int y=0;
PreparedStatement ps = connection.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
              
        while(rs.next()){
            
        yi[y] = rs.getString("name");
        y++;
        }
    return yi;

servlet是

String[] src =  as.getOne(id);//as.as.getOne(id)是上面方法的名字

这次到了yi[y]就出错啦,报空指针错误,       
2010-10-29 15:42
qingzhu5753
Rank: 4
等 级:业余侠客
帖 子:64
专家分:248
注 册:2009-10-28
收藏
得分:0 
import java.util.*;
public class ListToString
{
public static void main(String[] args)
{
List<String> list = new ArrayList<String>();   
list.add("a1");   
list.add("a2");   
String[] toBeStored = list.toArray(new String[list.size()]);   
for(String s : toBeStored) {   
      System.out.println(s);   
}     
}
}
运行一下
2010-11-03 16:20
快速回复:List转换成String
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015874 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved