Java中的转义字符

来源:互联网 发布:苹果cms解析百度云 编辑:程序博客网 时间:2024/05/29 04:04

如今,在面试时有道面试陷阱,那就是
public class EscapeRout{
public static void main(String[] args){
System.out.println(“a\u0022.length() +\u0022b”.length());
}
}
其中,\u0022 是双引号的转义字符,他会在输出时转换成双引号,一般当别人看到第一眼会觉得是a\u0022的长度加上\u0022b的长度。这时候输出为14

然后再稍微深入一点的会觉得是将a\u0022.length()+\u0022b的长度输出。这里输出为26

这里就要说到转义字符了,当双引号的转义字符在输出时变成双引号时这时候要输出的代码就是”a”.length()+”b”.length(),然后输出结果为2。

其实Java中的转义字符还有一些,我下面列举出一些常见的:

点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
双引号的转义:==> u0022