黑马程序员技术交流社区

标题: ClassLoader 视频这边的一个疑问 [打印本页]

作者: 兜兜转转    时间: 2013-9-8 17:50
标题: ClassLoader 视频这边的一个疑问
不是说在java中表示windows下的路径不能使用单斜线吗("\")?这样不是做为转移字符了吗?那为什么老师传递的参数就使用单斜线?


2013-09-08_175014.png (122.84 KB, 下载次数: 6)

2013-09-08_175014.png

2013-09-08_175320.png (45.66 KB, 下载次数: 4)

2013-09-08_175320.png

作者: 神之梦    时间: 2013-9-8 18:51
不能用单斜杠应该是说在程序里边
这段代码的传值相当于在cmd下给主函数传值一样,不需要双斜杠
作者: 兜兜转转    时间: 2013-9-8 19:22
神之梦 发表于 2013-9-8 18:51
不能用单斜杠应该是说在程序里边
这段代码的传值相当于在cmd下给主函数传值一样,不需要双斜杠 ...

对呀,但是arg[0]赋值给程序中的srcPath 不就是带单杠的啊?它能自动解析为window环境下的目录?可以这样传递的原因是编译器和运行期的区别?

作者: 神之梦    时间: 2013-9-8 22:32
兜兜转转 发表于 2013-9-8 19:22
对呀,但是arg[0]赋值给程序中的srcPath 不就是带单杠的啊?它能自动解析为window环境下的目录?可以这样 ...

也许是你后面一种解释吧
我们知道在程序的字符串中,用\\表示的是一个\,如果只写一个\,后面没有跟java规定的转义字符的话,编译就会报错,例如String str="\";这句话就会报错。
而我们通常用转义是在程序的字符串中,在这个程序里边,我们在程序外给主函数传递一个值,编译器不会去判断这个是啥,所以我们按正常情况写路径,不会出错。
我估计就是应付编译器的,没有细致研究,纯属个人想法,楼主可以仔细研究下

作者: 兜兜转转    时间: 2013-9-9 07:09
神之梦 发表于 2013-9-8 22:32
也许是你后面一种解释吧
我们知道在程序的字符串中,用\\表示的是一个\,如果只写一个\,后面没有跟java ...

我看楼主已经提交入学申请了,不错呀

作者: 刘冲    时间: 2013-9-9 11:56
因为,传递的是信息的路径
作者: 神之梦    时间: 2013-9-9 14:31
兜兜转转 发表于 2013-9-9 07:09
我看楼主已经提交入学申请了,不错呀

{:soso_e110:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2