如果有個一個需求:
告訴了你根目錄的絕對路徑是"/rootdir",這個根目錄下的一個子文件名叫"subfile"
那麼要求你寫一個函數返回這個子文件的絕對路徑。
很簡單這樣寫:
String buildAbsolutePath(String rootPath,String subName){
return String.format("%s/%s",rootPath,subName);
}
對嗎?
第一遍看,對啊沒毛病!第二遍看,如果rootPath="/“呢?那不就返回”//subName"了嗎,這樣還對嗎?
不管你有沒有愣住,反正我是愣住了
最終結果:上面的寫法是沒有錯誤的,就算rootPath="/",也是正確的
不信?
你在電腦上試試 :
cd //bin
沒毛病,能運行的。那這樣呢:
cd ////////////bin
沒毛病,還是能運行。
那這是爲什麼?
因爲這個是等價的:
/usr/bin
/usr/./bin
/usr//bin