Prefácio
A partir do Java 5.0, a classe String adicionou um método poderoso de String Format (). Este método não é usado até agora e é realmente um desperdício. Este artigo o levará às funções desse método rapidamente. Quando você deseja usar o texto formatado no futuro, pode não precisar mais emprestar a biblioteca de terceiros ou implementá-lo.
Vamos primeiro olhar para um exemplo simples:
String formatted = string.format (" %s %d este ano.", "Xiao li", 30); // "Xiao Li tem 30 anos este ano".Sem minha explicação, você também pode ver:
1. Tipo de espaço reservado
As letras que seguem o espaço reservado "%" determinam o tipo de parâmetros reais que aceita. Existem vários tipos de espaço reservado:
| carta | Tipos de parâmetros aplicáveis | ilustrar |
|---|---|---|
| %um | Número do ponto flutuante | Números de ponto flutuante de saída em hexadecimal |
| %b / %b | Qualquer valor | Se o parâmetro for nulo, saída falsa, caso contrário, saia true |
| %c / %c | Personagem ou número inteiro | Saia os caracteres unicode correspondentes |
| %d | Inteiro | Formatar a saída de números inteiros |
| %e / %e | Número do ponto flutuante | Números de ponto flutuante de saída usando notação científica |
| %f | Número do ponto flutuante | Formate a saída de números de ponto flutuante |
| %g / %g | Número do ponto flutuante | Decida se deve produzir números de ponto flutuante no método de notação científica |
| %h / %h | Qualquer valor | Retorna o valor HashCode () no parâmetro de saída hexadecimal |
| %o | Inteiro | Inteiros de saída em octal |
| %s / %s | Corda | Formate a saída da string |
| %t | Data e hora | Formate a saída da data e hora |
| %x / %x | Inteiro | Inteiros de saída em hexadecimal |
| %n | nenhum | Quebras de linha |
| %% | nenhum | A porcentagem de si mesma |
As letras maiúsculas indicam que a produção de cartas está toda capitalizada.
Os mais comuns que usamos são %S, %D e %F e, ocasionalmente, %t. Este artigo é limitado no espaço, portanto, apenas esses quatro tipos são introduzidos. Por favor, leia a documentação da API para o resto você mesmo.
2. Formato String e Inteiro
Aqui está um exemplo para ilustrar:
// preencha os espaços e alinhe -se à direita: String.Format ("%10s, World", "Hello"); // Saída "Hello, World" String.Format ("%8D", 123); // saída "123" // preenche os espaços e alinhe à esquerda: string.format ("%-10s, mundo", "hello"); // Saída "Hello, World" String.Format ("%-8D", 123); // saída "123" // complique 0 e alinhe (válido apenas para números) string.format ("%08d", 123); // saída "123" string.format ("%-08d", 123); // Erro! 0 não tem permissão para ser preenchido no lado direito // Saída até N caracteres String.Format ("%. 5S", "Hello, World"); // saída "Hello" string.format ("%. 5s ...", "Olá, mundo"); // Saída "Hello ..." String.Format ("%10.5s ...", "Hello, World"); // Saída "Hello ..." // Números separados por vírgula de saída String.Format ("%, D", 1234567); // Saída "1.234.567" 3. Formatação de data
Isso é um pouco mais complicado, mas se você quiser misturar números de texto e datas em uma string, deve ser mais conveniente usar apenas um método do que combinar o DateFormat e o número -format.
Primeiro, vamos adicionar mais um conhecimento, ou seja, os espaços reservados podem especificar parâmetros em uma determinada posição, no formato de %n $. Por exemplo, %2 $ D representa o segundo parâmetro de modelagem de plástico. Observe que N aqui começa com 1 em vez de 0.
Ao formatar uma data, vários espaços reservados devem apontar para o mesmo parâmetro (para evitar repetir o mesmo parâmetro várias vezes). Ao mesmo tempo, porque "t" representa data e hora, o formato completo é %n $ tx, onde x representa qual parte do tempo é levada. Os valores opcionais para x são, por exemplo:
Y = ano; m = mês; d = dia; H = hora; M = minuto; S = segundo; L = ms; A = dia da semana (nome); B = nome do mês;
Existem outras cartas, consulte a documentação da API para obter detalhes. Aqui está um exemplo:
// O formato de saída é "agora é 15:04:52, domingo" // Observe que 10 em "%1 $ 10th" também significa que o espaço é preenchido com 10 bits e string.Format alinhado à direita ("agora é%1 $ 10th:%1 $ TM:%1 $ TS,%1 $ ta", nova data ())Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.