日期:2014-05-20 浏览次数:21277 次
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; }
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; }
------解决方案--------------------
这些都是引用变量,如果你把它们赋给其它的话
修改任何一处都会导致原来的值被修改
------解决方案--------------------
数组和对象都是存储引用的。
tempal和你list里的对象都是同一个,你可以通过==判断一下,因为它们是同一个引用,只是名称不同而已。
------解决方案--------------------