| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10160 人关注过本帖
标题:List转换成String
取消只看楼主 加入收藏
lovemm
Rank: 2
来 自:广州
等 级:论坛游民
威 望:1
帖 子:170
专家分:24
注 册:2008-11-4
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:3 
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
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
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
快速回复:List转换成String
数据加载中...
 
   



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

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