8. Formatting text blocks with variables/expressions
In Java, it is a common practice to format string literals with variables/expressions to obtain dynamic strings. For instance, we can create a dynamic piece of XML string via the following well-known concatenation:
String fn = "Jo";
String ln = "Kym";
String str = "<user><firstName>" + fn
+ "</firstName><lastName>" + ln + "</lastName></user>";
// output
<user><firstName>Jo</firstName><lastName>Kym</lastName></user>
Of course, this tiny construction has serious issues from a readability perspective. XML code is human-readable if it is formatted and indented accordingly; otherwise, is really hard to follow its hierarchy. So, can we express this XML to look like the following figure?
Figure 1.6: Formatted XML
Sure we can! By using some escape sequences (for instance, \n
, \t
, and \s
)...