'Which is the best way to append single quotes for a String in java

For example,

String x= "ABC";

Which is the best way to convert ABC to 'ABC' ?



Solution 1:[1]

You can use String inner StringBuilder like

sb.append(String.format("'%s'", variable));

Solution 2:[2]

This will create less intermediate String objects than with +

public static String quote(String s) {
    return new StringBuilder()
        .append('\'')
        .append(s)
        .append('\'')
        .toString();
}

public static void main(String[] args) {
    String x = "ABC";
    String quotedX = quote(x);
    System.out.println(quotedX);
}

prints 'ABC'

Solution 3:[3]

The other option is the escape character, which in Java is the backslash (). So: String x = "\'ABC\'";

Here is a good reference.

Solution 4:[4]

For those who uses Spring Framework:

import org.springframework.util.StringUtils;
String x = "ABC";
x = StringUtils.quote(x);

Quote the given String with single quotes.
Parameters:
str - the input String (e.g. "myString")
Returns:
the quoted String (e.g. "'myString'"), or null if the input was null

Consider also StringUtils.quoteIfString(Object obj).

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Suraj Rao
Solution 2 T.Gounelle
Solution 3 Edward Fitzgerald
Solution 4 Woland