Ok, então todos devemos saber que você pode incluir variáveis em strings fazendo:
String string = "A string " + aVariable;
Existe uma maneira de fazer isso:
String string = "A string {aVariable}";
Ou seja: Sem ter que fechar aspas e adicionar sinais de mais. É muito pouco atraente.
String.format()
está embutido na linguagem.Respostas:
Você sempre pode usar String.format (....). ie,
Não tenho certeza se isso é atraente o suficiente para você, mas pode ser muito útil. A sintaxe é a mesma para printf e java.util.Formatter. Eu o usei muito, especialmente se quiser mostrar dados numéricos tabulares.
fonte
format
é mais atraente do que uma simples expressão de concatenação de String. Quandoformat
você precisa fazer preenchimento, formatação de números, etc.1 + "oops"
), especialmente se você usar FindBugs (que analisa strings de formato e parâmetros de entrada). E, como diz o autor da pergunta, em muitos casos é mais legível. Claro, é uma pena que oformat
método tenha se tornado estático, isso foi um erro de design bastante estúpido.format
relacionaria com a string de destino? Certamente você não está sugerindo que devemos escrever"A String %s %2d".format(aStringVar, anIntVar)
... está?Isso é chamado de interpolação de string; não existe como tal em Java.
Uma abordagem é usar String.format:
Outra abordagem é usar uma biblioteca de modelos, como Velocity ou FreeMarker .
fonte
Considere também
java.text.MessageFormat
, que usa uma sintaxe relacionada com índices de argumentos numéricos. Por exemplo,resulta em
string
conter o seguinte:Mais comumente, a classe é usada para sua formatação numérica e temporal. Um exemplo de
JFreeChart
formatação de etiqueta é descrito aqui ; a classeRCInfo
formata o painel de status de um jogo.fonte
você pode usar o formato String para incluir variáveis dentro de strings
Eu uso este código para incluir 2 variáveis na string:
fonte