今天看到这样一个有意思的图片,给大家分享下:
问题来了,为什么代码里面已经被注释的部分也可以执行呢?
其实也很简单,查一下\u000d
是个啥玩意就行了,果不其然,这个代表回车(CR:Return)
;而另一个类似的\u000a
则是换行(LF:Line Feed)
。其实也就是\r
和\n
啦。
而Java在解析代码的时候,是会按照Unicode编码去解析,而不是把它当作字符串。因此,注释自然是无效啦~
额外试了下其他语言,这个用法在Go
、Python
、Nim
等语言中并不可以哦!