您好,智慧社区,
我已经围绕这个问题做了一些研究,但似乎无法找到我确切问题的答案
我面临一个奇怪的编译时问题,其中包含 unicode 转义码的 Java 字符串文字。
这是正在考虑的代码片段:
String text = textArea.getText().trim();
String unicodeReturn = "\u000A";
text =
"\"" +
text
.replace(" ", "%s")
.replace("\\", "\\\\")
.replace("\"", "\\\"")
.replace("\n", "\u000A")
+
"\"";
我收到该行的编译时错误“字符串文字没有被双引号正确关闭”
String unicodeReturn = "\u000A";
奇怪的是,线
.replace("\n", "\u000A")
如果存在相同的 unicode 文字,似乎不会引起任何问题。我已经使用 unicode 符号语法有一段时间了。如果我的记忆没有让我失望,则格式为\uXXXX,其中 X 是十六进制数字。
我的环境是
- JDK 1.8.0_66
- MACOSX El Capitan
- 日食火星.1
我的问题是:
- 有没有人遇到过同样的问题?
- 这是一个已知的 JDK 1.8 编译器错误吗?
- 有解决方案或解决方法吗?
- 有谁知道我做错了什么?
(这非常令人沮丧,并阻止我编译我的代码)