public class student{public List A(DB db){
db.open();
String sql = "select * from student where course='english'";
ArrayList data = new ArrayList();
List ls = new ArrayList();
data = db.execute(sql,data); //db.execute在DB类中已经存在,返回的是data列表
for(int i=0; i<data.size(); i++){//data.size()值为三行。
String temp = data.get(i).tostring(); //temp里的值[001, bronica,english,good]
string[] tem = temp.split(",");
student st = new student();
st.setNum(tem[0]);
st.setName(tem[1]);
st.setCourse(tem[2]);
st.setLevel(tem[3]);
ls.add(st);
}
return ls; //为什么我返回的是Student@13a317a, Student@763f5d. 我想要的结果就是两三行数据放在ls里面}我想了半天也不知道为什么return的结果不是001, bronica,english,good;002,Jim,english,bad,...
解决方案 »
- Could not find the main class Program will exit 解决方案
- 问个跟java没多大关系的不过很要命的问题,希望知道的朋友的提点下
- 我的代码错在哪????类似二叉树问题
- 刚开始学习JAVA,有个简单的问题请教大家
- 想学JAVA 但是不知道用什么编译器好,JDK?VJ++?JBUILDER?大家给点建议好吗?新手谢谢!
- 在JAVA编程思想第二章里提到的reference和object reference中文翻译是什么?
- 哪里有jdbc教程。。立刻结帐
- oracle8.16下的乱码?ZHS16GBK和java的字符转化都试过了,还有什么可能情况?
- 怎样去掉JAVA的DOS控制台?
- 谁知道那有VISUALAGE最高版本下载?一定给分。
- java与数据结构
- JAVA类型转换
如果你想打印出来看看,可以这样,你给Student加一个public String toString()方法.System.out.println(ls);就可以了.
return 学号+" "+姓名+" "+学课+" "+成绩;
}大概就是这样的,把上面的汉字换成你在Student中的实际的名字
我就用System.out.println(ls)得出的结果是Student@13a317a, Student@763f5d
所以才求助
for(int i=0; i<ls.size(); i++){
Student stu = (Student) ls.get(i);
System.out.println(stu.getName());
System.out.println(stu.getNum());
System.out.println(stu.getScore());
}
String temList = ls.get(i).toString();
System.out.println(temList);
}
我是用这种方法遍历的,得出的结果是Student@13a317a, Student@763f5d
Student没有重写toString()方法,就会去调用Object的toString()方法,这个方法只打印出对象的类+Hash地址.所以会出现Student@13a317a,Student是类名,13a317a是对象的地址.
正解怎么没人支持?其实不一个个拿出来打印也是可以的。System.out.println()调用的就是对象的toString方法,System.out.println(list)
因为ArrayList已经重写了toString方法。
String[] tem =new String[50];
db.open();
String sql = "select * from student where course='english'";
ArrayList data = new ArrayList();
List ls = new ArrayList();
Iterator it = ls.iterator();
while(it.hasNext()){
Object[] obj=(Object[])it.next();
for(int i;i<ls.size();i++){
tem[i]=obj[i].toString();
}
}
student st = new student();
st.setNum(tem[0]);
st.setName(tem[1]);
st.setCourse(tem[2]);
st.setLevel(tem[3]);
ls.add(st);
}
return ls;
}
return ??
}
请教一下,我应该return是什么值呢?
如果只有两三个字段可以return id + name + course + level
如果有几十个字段是不是也要一个个return ......啊
String temList = ls.get(i).getName().toString(),写不写toString()都可以的,主要是你没有继续找下去