2011-04-23 22 views
11

El lenguaje es Java. ¿Qué significa el en ...

static String padright (String str, int num) { 
    return String.format("%1$#" + num + "str", str); 
} 

En la API de Java, String.format() se utiliza de esta manera:

public static String format(String format, Object... args) 

Así que creo es un especificador de formato.

%[flags][width][.precision][argsize]typechar es la plantilla.

  • 1 ¿es una bandera?
  • $ es el ancho?
  • # es la precisión?
  • num es el argsize?
  • "str" ​​es el typechar?

¿Es eso correcto?

Respuesta

24

Plantilla:

%[argument_index$][flags][width][.precision]conversion 

El argument_index opcional es un número entero decimal que indica la posición del argumento en la lista argumento. El primer argumento es referenciado por "1" $, el segundo por "2 $", etc.

Los indicadores opcionales es un conjunto de caracteres que modifican el formato de salida . El conjunto de indicadores válidos depende de en la conversión.

El ancho opcional es un entero decimal que indica el número mínimo de que se escribirá en la salida.

La precisión opcional es entero decimal no negativo generalmente utilizado para restringir el número de caracteres . El comportamiento específico depende de la conversión.

La conversión requerida es un carácter que indica cómo se debe formatear el argumento . El conjunto de conversiones válidas para un argumento dado depende del tipo de datos del argumento.

%1$ se refiere a la primera sustitución. En este caso, la cadena str. # es un indicador que dice que el resultado debe usar un formulario alternativo dependiente de la conversión.

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html

Cuestiones relacionadas