"\\u0041\\"
首先前面那个“\\”是转义字符,因为字符串里出现一个“\”需要进行转义,所以就成了“\\”也就是说这个字符串是\u0041\,\u0041是unicode码,它代表的就是a。
你下面问的那个没有对前面的\转义,也就是“\u”是个转义字符,具体它代表哪个字符,抱歉,我也没有见过,所以你下面的那个表达式不能表示a\。
具体unicode可以参见http://baike.baidu.com/view/40801.htm?fr=ala0_1
"A\\".matches("\\u0041\\\\") true
A\ ---> \u0041
"\\u0041\\".matches("\\\\u0041\\\\") true
\u0041\ ---> \\u0041\\
实际测试,结果如上
当让有啦! 都是转意字符的原因上面的计算的读出的是\u0041\
而下一行就不会是这个了!程序会认为无法转意而报错,非法的数据输入!
一个是16进制的表达式 一个是字符类的表达式