標籤:
File是對象引用,但在作為參數傳遞時體現值引用的特點,即 在方法中被重新賦值,此賦值操作僅在當前方法中有效。
public class FileUtils { public static void main(String[] args) { String filepath=FileUtils.class.getResource("/files/t1/example/test.xlsx").getPath(); System.out.println(filepath); FileUtils fileUtils=new FileUtils(); File oldFile=new File(filepath); System.out.println("oldFile:"+oldFile.exists()+":"+oldFile.getAbsolutePath()); fileUtils.del(oldFile); System.out.println("oldFile:"+oldFile.exists()+":"+oldFile.getAbsolutePath()); } public void del(File oldFile){ if (oldFile.exists()) { System.out.println(oldFile.getAbsolutePath()); oldFile.delete(); } String path=FileUtils.class.getClass().getResource("/files/t1/example/test2.xlsx").getPath(); System.out.println(path); File newFile=new File(path); System.out.println("newFile:"+newFile.exists()+":"+newFile.getAbsolutePath()); oldFile=newFile; }}
output:
/D:/workspace/bin/files/t1/example/test.xlsxoldFile:true:D:\workspace\bin\files\t1\example\test.xlsxD:\workspace\bin\files\t1\example\test.xlsx/D:/workspace/bin/files/t1/example/test2.xlsxnewFile:true:D:\workspace\bin\files\t1\example\test2.xlsxoldFile:false:D:\workspace\bin\files\t1\example\test.xlsx//main方法中File對象還是以前的
java.io.File在作為參數傳遞時體現值引用的特點