Bien, entonces todos debemos saber que puede incluir variables en cadenas haciendo:
String string = "A string " + aVariable;
¿Hay alguna manera de hacerlo como:
String string = "A string {aVariable}";
En otras palabras: sin tener que cerrar las comillas y añadir el signo más. Es muy poco atractivo.
String.format()
están integradas en el lenguaje.Respuestas:
Siempre puede usar String.format (....). es decir,
No estoy seguro de si eso es lo suficientemente atractivo para ti, pero puede ser muy útil. La sintaxis es la misma que para printf y java.util.Formatter. Lo he usado mucho, especialmente si quiero mostrar datos numéricos tabulares.
fuente
format
es más atractivo que una simple expresión de concatenación de cadenas. Dondeformat
entra en juego es cuando necesita hacer relleno, formateo de números, etcétera.1 + "oops"
), especialmente si usa FindBugs (que analiza cadenas de formato y parámetros de entrada). Y, como dice el autor de la pregunta, en muchos casos es más legible. Por supuesto, es una pena que elformat
método se haya hecho estático, fue un error de diseño bastante estúpido.format
relacionaría con la cadena de destino? Seguramente no estás sugiriendo que deberíamos esperar que escribamos"A String %s %2d".format(aStringVar, anIntVar)
... ¿verdad?Esto se llama interpolación de cadenas; no existe como tal en Java.
Un enfoque es utilizar String.format:
Otro enfoque es utilizar una biblioteca de plantillas como Velocity o FreeMarker .
fuente
Considere también
java.text.MessageFormat
, que usa una sintaxis relacionada que tiene índices de argumentos numéricos. Por ejemplo,resulta en
string
contener lo siguiente:Más comúnmente, la clase se usa por su formato numérico y temporal. Aquí
JFreeChart
se describe un ejemplo de formato de etiqueta ; la clase formatea el panel de estado de un juego.RCInfo
fuente
puede usar el formato de cadena para incluir variables dentro de cadenas
uso este código para incluir 2 variables en la cadena:
fuente