A string literal is a Java source-code literal representing characters inside double quotation marks. It can contain escape sequences such as "\\b" and "\\t", but backslashes require particular care in regular expressions. section 6.11
Prefer a string literal when an API expects text. A character literal can select a numeric overload instead: passing '[' to StringBuilder chooses the int-capacity constructor, using character value 91, rather than appending an opening bracket. section 9.1
Character literal versus string literal
The risky form is `new StringBuilder('[')`. Use `new StringBuilder("[")`, or construct the builder and append the string literal separately. The performance penalty is described as marginal, while the string form cannot be implicitly converted to a number. section 9.1
A one-character string literal can also prevent accidental unary-plus behavior. In `"User not found: " + + '"'`, the character literal is exposed to a confusing expression pattern; replacing it with `"\""` makes arithmetic misuse a compilation error. section 2.5
StringBuilder sb = new StringBuilder('['); #1
sb.append(value);
sb.append(']');
Inspect the constructor call that passes a character literal and widens it to an integer capacity. section 9.1

