黑马程序员技术交流社区
标题:
ArrayList中存放的字符串数组为什么自动清空了?
[打印本页]
作者:
王新春
时间:
2011-11-17 08:57
标题:
ArrayList中存放的字符串数组为什么自动清空了?
public static ArrayList ReadSqlConfing(String str) throws FileNotFoundException, IOException{
FileReader myFileReader=new FileReader(str);
BufferedReader myBufferedReader=new BufferedReader(myFileReader);
String myString=null;
ArrayList<String []> myal=new ArrayList<String []>();
String mysql="";
String filename="";
//tempal[0]="";
//tempal[1]="";
//String tmpstr[]=new String[2];
/*while((myString=myBufferedReader.readLine())!=null)
{ System.out.println(myString);
}*/
int i=0;
while((myString=myBufferedReader.readLine())!=null)
{ //System.out.println(myString.indexOf("//-->"));
if(myString.indexOf("//-->")>=0){
filename=myString.replace("//-->","");//取得要保存的文件名
//System.out.println(filename);
String tempal[]=new String[2];
tempal[0]=mysql;
tempal[1]=filename;
//myal.add(i,new String[2]);
myal.add(i,tempal);
i++;
System.out.println("i="+i+" filename="+filename+" ");
mysql="";
filename="";
tempal[0]="";
tempal[1]="";
}
else{
mysql=mysql+myString;
}
}
myFileReader.close();
for(int m=0;m<myal.size();m++){
String tempal[]=new String[2];
tempal= (String[])myal.get(m);
System.out.println(tempal[0]);
System.out.println(tempal[1]);
}
return myal;
}
这段代码为什么在最后打出来的tempal[0]和tempal[1]都是空呢?
作者:
任俊杰
时间:
2011-11-17 09:12
因为你这里 :
tempal[0]="";
tempal[1]="";
第次都赋值为空呀,结果当然为空。
|------>(3)String
(1)myal -----> (2)多个String[]------->|------->(3)String
|-------->(3)String
每次运行
tempal[0]="";
tempal[1]="";
这个后,就相当在上面的第二步那个地方给那个String[]的两个引用赋值。
那个filename开始是赋值成功了的,但你后面又把它替换成空了。
所以结果就是空了。
作者:
强子
时间:
2011-11-17 09:43
楼上正解 可以试试我这个
String[] str = new String[3];
List<String[]> list = new ArrayList<String[]>();
str[0] = "1";
str[1] = "2";
str[2] = "3";
list.add(str);
System.out.println(list.get(0)[0]+"||||"+list.get(0)[1]+"|||"+list.get(0)[2]);
str[0] = "";
str[1] = "";
System.out.println(list.get(0)[0]+"||||"+list.get(0)[1]+"|||"+list.get(0)[2]);
而且你这句
tempal[0]="";
tempal[1]="";
的意义是什么呢?
你在循环中String tempal[]=new String[2];就不必手动的去清空它了吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2