如何将String转换为Java字符串文字?

Sim*_*son 10 java string

这是关于C#这个问题的类似Java .

假设我有一个String我想在代码中表示的对象,我想生成一个映射到同一个东西的字符串文字.

hello, "world"
goodbye
Run Code Online (Sandbox Code Playgroud)

hello, \"world\"\ngoodbye
Run Code Online (Sandbox Code Playgroud)

我正准备编写一个状态机,逐字符地提取字符串并适当地转义,但后来我想知道是否有更好的方法,或者提供了执行此操作的函数的库.

unw*_*ind 7

如果你可以添加外部代码,StringEscapeUtils.escapeJava()我认为Apache的Commons Lang 就是你想要的.

  • 如果字符串非空,EscapeStringUtils.escapeJava() 不会执行外引号。我需要用以下内容包装它:(s == null)?null : "\""+StringEscapeUtils.escapeJava(s)+"\""; (3认同)