如果有个一个需求:
告诉了你根目录的绝对路径是"/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