I find myself very frequently wanting to write reusable strings with parameter placeholders in them, almost exactly like what you’d find in an SQL PreparedStatement.
Here’s an example:
private static final String warning = "You requested ? but were assigned ? instead.";
public void addWarning(Element E, String requested, String actual){
warning.addParam(0, requested);
warning.addParam(1, actual);
e.setText(warning);
//warning.reset() or something, I haven't sorted that out yet.
}
Does something like this exist already in Java? Or, is there a better way to address something like this?
What I’m really asking: is this ideal?
String.format()Since Java 5, you can use
String.formatto parametrize Strings. Example:See http://docs.oracle.com/javase/tutorial/java/data/strings.html
Alternatively, you could just create a wrapper for the
Stringto do something more fancy.MessageFormatPer the comment by Max and answer by Affe, you can localize your parameterized String with the
MessageFormatclass.