Обновление декабрь 2018 г. (12 месяцев спустя):
Необработанные строковые литералы (которые находятся в желтом списке ) не попадут в JDK 12.
См. Критику здесь .
Может быть в будущей версии Java (10 или больше).
См. JEPS 8196004 от января 2018 г .: ( «JEP» - это «Программа расширения JDK» )
Проект JEP: необработанные строковые литералы
Добавьте новый вид литерала, необработанный строковый литерал, в язык программирования Java.
Как и традиционный строковый литерал, необработанный строковый литерал создает строку, но не интерпретирует escape-последовательности строк и может охватывать несколько строк исходного кода .
Так что вместо:
Runtime.getRuntime().exec("\"C:\\Program Files\\foo\" bar");
String html = "<html>\n"
" <body>\n" +
" <p>Hello World.</p>\n" +
" </body>\n" +
"</html>\n";
System.out.println("this".matches("\\w\\w\\w\\w"));
Вы можете ввести:
Runtime.getRuntime().exec(`"C:\Program Files\foo" bar"`);
String html = `<html>
<body>
<p>Hello World.</p>
</body>
</html>
`;
System.out.println("this".matches(`\w\w\w\w`));
Ухоженная!
Но это все еще только черновик : его нужно будет опубликовать, отправить, быть кандидатом и профинансировать, прежде чем он будет завершен и внесен в следующий JDK.