当前位置: 代码迷 >> Eclipse >> Arraylist里头为什么会自带 逗号
  详细解决方案

Arraylist里头为什么会自带 逗号

热度:346   发布时间:2016-04-23 00:41:24.0
Arraylist里面为什么会自带 逗号
通过"xueh"来查sqlite数据库里面students表里面的单行信息         
 String sql="select * from students where stu_xueh='"+xueh+"'";
            Cursor cur=sld.rawQuery(sql, new String[]{});
            while(cur.moveToNext())
            {
             list.add("姓名:");
             list.add(cur.getString(0)+"\n");  //username
             list.add("性别:");
             list.add(cur.getString(1)+"\n");  //password 
             list.add("籍贯:");
             list.add(cur.getString(2)+"\n");
             list.add("民族:");
             list.add(cur.getString(3)+"\n");
             list.add("专业:");
             list.add(cur.getString(4)+"\n");
             list.add("院系:");
             list.add(cur.getString(5)+"\n");
             list.add("班级:");
             list.add(cur.getString(6)+"\n");
             list.add("学号:");
             list.add(cur.getString(7)+"\n");
             list.add("出生年月:");
             list.add(cur.getString(8));
             list.add(cur.getString(9));
             list.add(cur.getString(10));
            }
            cur.close();
            closeDatabase();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return list;        
    }
假如要查的那一行的结果为0 1 2 3 4 5 6 7 8 9 10
输出的结果是[姓名:,0
,性别:,1
,籍贯:,2
,民族:,3
,专业:,4
,院系:,5
,班级:,6
,学号:,7
,出生年月:8,9,10

]
这些逗号和[ ]这个中括号哪来的,怎么去掉啊
------解决方案--------------------
你这是直接打印的out的list 
自己有显示要求就循环出来按照自己想要的方式拼凑吧
------解决方案--------------------
这个是AbstractCollection里面的toString方法里面拼凑出来的
或者你自己继承覆写toString方法也可以
------解决方案--------------------
ArrayList的toString()里:
public String toString() {
        Iterator<E> i = iterator();
if (! i.hasNext())
    return "[]";

StringBuilder sb = new StringBuilder();
sb.append('[');
for (;;) {
    E e = i.next();
    sb.append(e == this ? "(this Collection)" : e);
    if (! i.hasNext())
return sb.append(']').toString();
    sb.append(", ");
}
    }

打印list的时候自动调用的是list.toString(),这里的格式是[XXX,YYY,...]
------解决方案--------------------
List a= new ArrayList();
a.add("1");
a.add("2");
a.add("3");
System.out.println(a);
//[1, 2, 3]

------解决方案--------------------
不想中括号和,的话,你可以用stringBuffer 追加就好了
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.appdend("姓名:").append(cur.getString(0)+"\n").......;就好了
  相关解决方案