我很好奇为什么逃逸测序会在不同情况下评估不同的结果。
public class EscapeChars{
public static void main(String args[]) {
String sequence = args[0];
System.out.println(sequence);
}
}
输入"//\\"
输出//\
- 这是预期的,因为序列"\\"
评估为\
输入"\\//"
输出\\//
- 根据我对转义排序的理解,我希望输出为\//
。
我想了解这种明显不一致结果的原因。
答案 0 :(得分:0)
如果您尝试此代码:
System.out.println("\/");
您将收到编译错误(我使用jdk 1.8进行了测试)。 错误说:非法转义字符。 这意味着“/”无效。 由于您是在运行时输入序列,因此这可能是显示输入结果的原因。
答案 1 :(得分:0)
据我所知,你的java程序只是打印shell传递给它的参数,或者执行它的任何程序,所以在打印它时,转义序列已经被bean处理了,所以它不是一个java问题。