将转义字符添加到Java中的字符串行为

时间:2014-11-28 17:50:21

标签: java eclipse string escaping

我注意到在尝试将路径名传递给字符串之前我从未真正考虑过的事情。要将文件路径放在字符串文字中,您必须转义正确中断路径的反斜杠,即我有路径C:\ Program Files(x86)\ Phoenix所以在字符串文字中它将是

String location = "C:\\Program Files (x86)\\Phoenix";

但是我注意到当我从一个文本文件中读取这个值时,它被指定为“C:\ Program Files(x86)\ Phoenix”并且我使用setter方法,该字符串能够被处理得很好,就像在< / p>

public void setLocation(String location) {
        this.location = location;
}

object.setlocation(**valuereadfromtextile**);

为什么java不要求我在文本文件中转义路径?另外,当在调试器中查看变量时,eclipse会自动将转义字符添加到第二个字符串,为什么会这样做呢?

1 个答案:

答案 0 :(得分:1)

无论你动态阅读什么(来自文件,命令行参数)都不是源代码的一部分,其中字符串将由编译器解释

&#34;以反斜杠()开头的字符是转义序列,对编译器具有特殊含义。&#34; Java Language Specs