java arraylist 问题

筱周 2010-02-27 04:09:23
if (e.getSource() == btnIdSelect) {
String number = txtIdSelect.getText();
try {
File file = new File("D:\\test.txt");
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);

while (br.ready()) {
String line = br.readLine();
ArrayList al = new ArrayList();
if (line.contains(number)) {
al.add(line);
System.out.println(al);
}
String s3 = al.toString();
String[] s4 = s3.split("\\;");

for(int i = 0;i<s4.length;i++){
System.out.println(s4[i]);
}
}

br.close();
isr.close();
fis.close();

} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
}
这是一个查询按钮,根据输入学号查找到那学号所在的那行字符串
现在的问题是我把arraylist转换成String 再把String根据;号分割成String[];
为什么我打印出来的结果是这样的?
[]
[]
[]
[]
[]
[]
[]
[111;888;111;11;111;111;]
[111
888
111
11
111
111
]
问题补充:[]一起10个 而且 String[]给返回到界面中
txtName.setText(s4[0]);
txtId.setText(s4[1]);
txtAge.setText(s4[2]);
txtSex.setText(s4[3]);
txtMobile.setText(s4[4]);
txtHomeAddress.setText(s4[5]);
为什么会出现这样的错误Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1
at FFrame$InquestAct.actionPerformed(StudentMessage.java:634)
也就是txtId.setText(s4[1])这句话报错!
而且界面中 txtName的显示为[]!
找个高手帮忙解决下这个问题!
...全文
194 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
charlesccc 2010-03-03
  • 打赏
  • 举报
回复
一起学习,帮顶@!@
TillPerfect 2010-03-02
  • 打赏
  • 举报
回复
Object o = al.get(0); 报错。。。
你debug 跟踪一下,看list里面到底是什么东西,看下你塞进去的到底是什么类型。
你是怎么读文件的?
Z_FEI 2010-03-02
  • 打赏
  • 举报
回复
引用 7 楼 zc870504 的回复:
list 中的对象是object类型的 我想要的是String的
如果这样写的话
Object o = al.get(0);
String s4 = o.toString();
会在Object o = al.get(0);这句话上报错!

那可以用泛型啊!
筱周 2010-02-27
  • 打赏
  • 举报
回复
list 中的对象是object类型的 我想要的是String的
如果这样写的话
Object o = al.get(0);
String s4 = o.toString();
会在Object o = al.get(0);这句话上报错!
djh6011 2010-02-27
  • 打赏
  • 举报
回复
越看越复杂 , 好难
myj870517 2010-02-27
  • 打赏
  • 举报
回复
,...............................................
TillPerfect 2010-02-27
  • 打赏
  • 举报
回复
请明示一下,文件里面的内容,以及您希望得到的结果,谢谢合作!
colin_pxx 2010-02-27
  • 打赏
  • 举报
回复
为什么要这样做 list里面存对象不就好了吗 然后要得到什么属性不都可以得到吗
TillPerfect 2010-02-27
  • 打赏
  • 举报
回复
不好意思,将 String 拼写错了。。。
TillPerfect 2010-02-27
  • 打赏
  • 举报
回复
List 里面有一个方法,叫toArray(); 你可以这样:
ArrayList<String> al = new ArrayList<Stirng>();
...
String[] strs = al.toArray();

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧