【发布时间】:2016-01-12 13:27:20
【问题描述】:
我正在尝试使用以下代码过滤掉数组中的特定字符串,但是当我尝试运行它时它总是崩溃。
public String[] lister(String[] fl){
String[] filelist = {};
int j = 0;
for(int i = 0; i < fl.length; i++){
if (fl[i].contains("Incident ")){
filelist[j] = fl[i];
j++;
}
}
return filelist;
}
我已经尝试了一些东西,似乎就是这样
filelist[j] = fl[i];
是罪魁祸首。 当我跑步时
public String[] lister(String[] fl){
String[] filelist = {};
int j = 0;
for(int i = 0; i < fl.length; i++){
if (fl[i].contains("Incident ")){
//filelist[j] = fl[i];
j++;
}
}
filelist = fl;
return filelist;
}
它不会崩溃,即使它运行 forloop。显然结果不是我需要的。
我不明白为什么会这样?出于某种原因,感觉好像它没有看到在 forloop 中初始化的“文件列表”。
【问题讨论】:
-
您试图声明一个长度未知的数组,这是不可能的。改用
ArrayList或给你的数组一个固定的长度。 -
发生了什么意外?