2023-05-03 11:06:20 +02:00
== Why is this an issue?
2021-04-28 16:49:39 +02:00
In Java 15 Text Blocks are now official and can be used. The most common pattern for multiline strings in Java < 15 was to write String concatenation. Now it's possible to do it in a more natural way using Text Blocks.
2021-04-28 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Noncompliant code example
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2021-04-28 16:49:39 +02:00
----
2023-02-27 15:16:49 +01:00
String textBlock =
2021-04-28 16:49:39 +02:00
"<html>\n" +
" <body>\n" +
" <tag>\n" +
" </tag>\n" +
" </body>\n" +
"</html>";
----
2021-04-28 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
=== Compliant solution
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2021-04-28 16:49:39 +02:00
----
String textBlock = """
<html>
<body>
<tag>
</tag>
</body>
</html>""";
----
2021-04-28 18:08:03 +02:00
2023-05-03 11:06:20 +02:00
== Resources
2021-04-28 16:49:39 +02:00
* https://openjdk.java.net/jeps/378[JEP 378: Text Blocks]
2023-02-27 15:16:49 +01:00
* https://openjdk.org/projects/amber/guides/text-blocks-guide[Programmer's Guide To Text Blocks], by Jim Laskey and Stuart Marks
2021-04-28 18:08:03 +02:00
2021-09-20 15:38:42 +02:00
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
2023-05-25 14:18:12 +02:00
=== Message
Replace this String concatenation with Text block.
2021-09-20 15:38:42 +02:00
endif::env-github,rspecator-view[]