Formatter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Intérprete para cadenas de formato de estilo printf.
[Android.Runtime.Register("java/util/Formatter", DoNotGenerateAcw=true)]
public sealed class Formatter : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ICloseable, Java.IO.IFlushable
[<Android.Runtime.Register("java/util/Formatter", DoNotGenerateAcw=true)>]
type Formatter = class
inherit Object
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IFlushable
- Herencia
- Atributos
- Implementaciones
Comentarios
Intérprete para cadenas de formato de estilo printf. Esta clase proporciona compatibilidad con la justificación y la alineación del diseño, los formatos comunes para los datos numéricos, de cadena y de fecha y hora, y la salida específica de la configuración regional. Se admiten tipos de Java comunes como byte
, java.math.BigDecimal BigDecimal
y Calendar
. La personalización de formato limitada para tipos de usuario arbitrarios se proporciona a través de la Formattable
interfaz .
Los formateadores no son necesariamente seguros para el acceso multiproceso. La seguridad de subprocesos es opcional y es responsabilidad de los usuarios de métodos de esta clase.
La impresión con formato para el lenguaje Java está muy inspirada en C.printf
Aunque las cadenas de formato son similares a C, se han realizado algunas personalizaciones para adaptarse al lenguaje Java y aprovechar algunas de sus características. Además, el formato de Java es más estricto que el de C; Por ejemplo, si una conversión no es compatible con una marca, se producirá una excepción. En las marcas que se pueden aplicar en C se omiten silenciosamente. Por lo tanto, las cadenas de formato están diseñadas para ser reconocibles para programadores de C, pero no necesariamente compatibles con las de C.
Ejemplos de uso esperado:
<blockquote>
StringBuilder sb = new StringBuilder();
// Send all output to the Appendable object sb
Formatter formatter = new Formatter(sb, Locale.US);
// Explicit argument indices may be used to re-order output.
formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
// -> " d c b a"
// Optional locale as the first argument can be used to get
// locale-specific formatting of numbers. The precision and width can be
// given to round and align the value.
formatter.format(Locale.FRANCE, "e = %+10.4f", Math.E);
// -> "e = +2,7183"
// The '(' numeric flag may be used to format negative numbers with
// parentheses rather than a minus sign. Group separators are
// automatically inserted.
formatter.format("Amount gained or lost since last statement: $ %(,.2f",
balanceDelta);
// -> "Amount gained or lost since last statement: $ (6,217.58)"
</blockquote>
Existen métodos de conveniencia para solicitudes de formato comunes, como se muestra en las siguientes invocaciones:
<blockquote>
// Writes a formatted string to System.out.
System.out.format("Local time: %tT", Calendar.getInstance());
// -> "Local time: 13:34:18"
// Writes formatted output to System.err.
System.err.printf("Unable to open file '%1$s': %2$s",
fileName, exception.getMessage());
// -> "Unable to open file 'food': No such file or directory"
</blockquote>
Al igual que C, sprintf(3)
las cadenas se pueden formatear mediante el método String#format(String,Object...) String.format
estático :
<blockquote>
// Format a string containing a date.
import java.util.Calendar;
import java.util.GregorianCalendar;
import static java.util.Calendar.*;
Calendar c = new GregorianCalendar(1995, MAY, 23);
String s = String.format("Duke's Birthday: %1$tb %1$te, %1$tY", c);
// -> s == "Duke's Birthday: May 23, 1995"
</blockquote>
<h3>"org">Organization</h3>
Esta especificación se divide en dos secciones. En la primera sección, Resumen, se tratan los conceptos básicos de formato. Esta sección está pensada para los usuarios que desean empezar a trabajar rápidamente y están familiarizados con la impresión con formato en otros lenguajes de programación. En la segunda sección, Detalles, se tratan los detalles de implementación específicos. Está pensado para los usuarios que desean una especificación más precisa del comportamiento de formato.
<h3>"summary">Summary</h3>
Esta sección está pensada para proporcionar una breve introducción a los conceptos de formato. Para obtener detalles de comportamiento precisos, consulte la sección Detalles.
<h4>"syntax">Format String Syntax</h4>
Cada método que genera una salida con formato requiere una cadena de formato y una lista de argumentos. La cadena de formato es una String
que puede contener texto fijo y uno o varios especificadores de formato incrustados. Considere el ejemplo siguiente:
<blockquote>
Calendar c = ...;
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);
</blockquote>
Esta cadena de formato es el primer argumento para el format
método . Contiene tres especificadores de formato "", "%1$tm
%1$te
" y "%1$tY
", que indican cómo se deben procesar los argumentos y dónde deben insertarse en el texto. Las partes restantes de la cadena de formato son texto fijo, incluidos "Dukes Birthday: "
y cualquier otro espacio o puntuación.
La lista de argumentos consta de todos los argumentos pasados al método después de la cadena de formato. En el ejemplo anterior, la lista de argumentos es de tamaño uno y consta del java.util.Calendar Calendar
objeto c
.
<ul>
<li> Los especificadores de formato para tipos generales, caracteres y numéricos tienen la sintaxis siguiente:
<blockquote>
%[argument_index$][flags][width][.precision]conversion
</blockquote>
El argument_index opcional es un entero decimal que indica la posición del argumento en la lista de argumentos. Se hace referencia al primer argumento por "1$
", el segundo por "2$
", etc.
Las marcas opcionales son un conjunto de caracteres que modifican el formato de salida. El conjunto de marcas válidas depende de la conversión.
El ancho opcional es un entero decimal positivo que indica el número mínimo de caracteres que se va a escribir en la salida.
La precisión opcional es un entero decimal no negativo que normalmente se usa para restringir el número de caracteres. El comportamiento específico depende de la conversión.
La conversión necesaria es un carácter que indica cómo se debe dar formato al argumento. El conjunto de conversiones válidas para un argumento determinado depende del tipo de datos del argumento.
<li> Los especificadores de formato para los tipos que se usan para representar fechas y horas tienen la sintaxis siguiente:
<blockquote>
%[argument_index$][flags][width]conversion
</blockquote>
El argument_index opcional, las marcas y el ancho se definen como antes.
La conversión necesaria es una secuencia de dos caracteres. El primer carácter es 't'
o 'T'
. El segundo carácter indica el formato que se va a usar. Estos caracteres son similares a los definidos por GNU date
y POSIX strftime(3c)
.
<li> Los especificadores de formato que no corresponden a los argumentos tienen la sintaxis siguiente:
<blockquote>
%[flags][width]conversion
</blockquote>
Las marcas y el ancho opcionales se definen como antes.
La conversión necesaria es un carácter que indica el contenido que se va a insertar en la salida.
</ul>
<h4> Conversiones </h4>
Las conversiones se dividen en las siguientes categorías:
<Ol>
<li><b>General</b> : se puede aplicar a cualquier tipo de argumento
<li><b>Character</b> : se puede aplicar a tipos básicos que representan caracteres Unicode: char
, Character
, byte
, Byte
, short
y Short
. Esta conversión también se puede aplicar a los tipos int
y Integer
cuando Character#isValidCodePoint
devuelve true
<li><b>Numeric</b>
<Ol>
<li>b Integral/b>: se puede aplicar a los tipos enteros de Java: byte
, Byte
, int
short
Short
, y Integer
, Long
long
y java.math.BigInteger BigInteger
(pero no char
a Character
)<><
<li><b>Punto flotante</b> : se puede aplicar a los tipos de punto flotante de Java: float
, Float
, double
, Double
y java.math.BigDecimal BigDecimal
</ol>
<li><b>Date/Time</b>: se puede aplicar a los tipos de Java que son capaces de codificar una fecha o hora: long
, Long
, Calendar
Date
y TemporalAccessor TemporalAccessor
<li><b>Percent</b>: genera un literal '%'
('\u0025'
)
<li><b>Line Separator</b> : genera el separador de línea específico de la plataforma.
</Ol>
Para la categoría General, Carácter, Numeración, Integral y Fecha y Hora, a menos que se especifique lo contrario, si el argumento arges null
, el resultado es "null
".
En la tabla siguiente se resumen las conversiones admitidas. Las conversiones indicadas por un carácter en mayúsculas (es decir'B'
, , , 'H'
, 'S'
'C'
'X'
, 'E'
, , 'G'
, y 'A'
'T'
) son las mismas que las de los caracteres de conversión en minúsculas correspondientes, excepto que el resultado se convierte en mayúsculas según las reglas del control predominantejava.util.Locale Locale
. Si no hay ninguna configuración regional explícita especificada, ya sea en la construcción de la instancia o como parámetro para su invocación de método, java.util.Locale.Category#FORMAT default locale
se usará .
<table class="striped"><caption style="display:none">genConv</caption><thead><tr><th scope="col" style="vertical-align:bottom" Conversion <th scope="col" style="vertical-align:bottom"> Argument Category <th scope="col" style="vertical-align:bottom"> Description </thead<>tbody<>tr><th scope="row"> style="vertical-align:top'b'
>", 'B'
<td style="vertical-align:top" > general <td> Si el argumento arges null
, el resultado es "false
". Si arg es o boolean
Boolean
, el resultado es la cadena devuelta por String#valueOf(boolean) String.valueOf(arg)
. De lo contrario, el resultado es "true".
<tr><th scope="row" style="vertical-align:top"'h'
>,<'H'
td style="vertical-align:top"> general <td> El resultado se obtiene invocando Integer.toHexString(arg.hashCode())
.
<tr><th scope="row" style="vertical-align:top"'s'
>,<'S'
td style="vertical-align:top"> general <td> If arg implements Formattable
, then Formattable#formatTo arg.formatTo
is invoked. De lo contrario, el resultado se obtiene invocando arg.toString()
.
<tr><th scope="row" style="vertical-align:top">'c'
, 'C'
<td style="vertical-align:top"> carácter <td> El resultado es un carácter Unicode
<tr><th scope="row" style="vertical-align:top"><'d'
td style="vertical-align:top"> integral <td> El resultado tiene el formato de entero decimal.
<tr><th scope="row" style="vertical-align:top"><'o'
td style="vertical-align:top"> integral <td> El resultado tiene el formato de un entero octal.
<tr><th scope="row" style="vertical-align:top">'x'
, 'X'
<td style="vertical-align:top"> integral <td> El resultado tiene el formato de entero hexadecimal.
<tr><th scope="row" style="vertical-align:top">'e'
, 'E'
<td style="vertical-align:top"> punto flotante <td> El resultado se da formato como un número decimal en notación científica computerizada
<tr><th scope="row" style="vertical-align:top"><'f'
td style="vertical-align:top"> punto flotante <td> El resultado tiene el formato de número decimal.
<tr><th scope="row" style="vertical-align:top">'g'
, 'G'
<td style="vertical-align:top"> punto flotante <td> El resultado se da formato mediante notación científica computerizada o formato decimal, dependiendo de la precisión y el valor después del redondeo.
<tr><th scope="row" style="vertical-align:top">'a'
, 'A'
<td style="vertical-align:top"> punto flotante <td> El resultado tiene el formato de número de punto flotante hexadecimal con un significand y un exponente. Esta conversión es <b>no< b> compatible con el BigDecimal
tipo a pesar de que este último se encuentra en la categoría de argumentos de punto flotante.
<tr><th scope="row" style="vertical-align:top">'t'
, 'T'
<td style="vertical-align:top"> date/time <td> Prefix for date and time conversion characters. Consulte Conversiones de fecha y hora.
<tr><th scope="row" style="vertical-align:top"'%'
><td style="vertical-align:top"> percent <td> El resultado es un literal '%'
()'\u0025'
<tr><th scope="row" style="vertical-align:top"><'n'
td style="vertical-align:top"> line separator <td> El resultado es el separador de línea específico de la plataforma
</tbody></table>
Los caracteres que no se definen explícitamente como conversiones no son válidos y están reservados para extensiones futuras.
<h4>"dt">Conversiones< de fecha y hora/h4>
Los siguientes caracteres de sufijo de conversión de fecha y hora se definen para las 't'
conversiones y 'T'
. Los tipos son similares a los definidos por GNU y POSIX, pero no son completamente idénticos a los definidos por GNU date
y POSIX strftime(3c)
. Se proporcionan tipos de conversión adicionales para acceder a la funcionalidad específica de Java (por ejemplo, 'L'
para milisegundos dentro del segundo).
Los siguientes caracteres de conversión se usan para dar formato a los tiempos:
<table class="striped"><caption style="display:none">time</caption><tbody><tr><th scope="row" style="vertical-align:top"<'H'
>td> Hour of the day for the 24-hour clock, formatted as two digits with a leading zero as necessary i.e. 00 - 23
.
<tr><th scope="row" style="vertical-align:top"><'I'
td> Hour for the 12-hour clock, formateado como dos dígitos con un cero inicial según sea necesario, es decir01 - 12
, .
<tr><th scope="row" style="vertical-align:top"><'k'
td> Hour of the day for the 24-hour clock, es decir, . 0 - 23
<tr><th scope="row" style="vertical-align:top"><'l'
td> Hour para el reloj de 12 horas, es decir1 - 12
, .
<tr><th scope="row" style="vertical-align:top"><'M'
td> Minute dentro de la hora con formato de dos dígitos con un cero inicial según sea necesario, es decir00 - 59
, .
<tr><th scope="row" style="vertical-align:top"'S'
<>td> Seconds within the minute, formateado como dos dígitos con un cero inicial según sea necesario, es decir 00 - 60
, ("60
" es un valor especial necesario para admitir segundos bisiesto).
<tr><th scope="row" style="vertical-align:top"><'L'
td> Milisecond dentro del segundo formato como tres dígitos con ceros iniciales según sea necesario, es decir000 - 999
, .
<tr><th scope="row" style="vertical-align:top"><'N'
td> Nanosecond dentro del segundo, formateado como nueve dígitos con ceros iniciales según sea necesario, es decir000000000 - 999999999
, .
<tr><th scope="row" style="vertical-align:top"><'p'
td> Locale-specific java.text.DateFormatSymbols#getAmPmStrings morning or afternoon marker in lower case, e.g.""am
o "pm
". El uso del prefijo 'T'
de conversión obliga a esta salida a mayúsculas.
<tr><th scope="row" style="vertical-align:top">'z'
<td>RFC 822 style numeric time zone offset from GMT, p. ej. . -0800
Este valor se ajustará según sea necesario para el horario de verano. Para long
, Long
y Date
la zona horaria usada es la zona horaria predeterminada TimeZone#getDefault() para esta instancia de la máquina virtual Java.
<tr><th scope="row" style="vertical-align:top"<>'Z'
td> Cadena que representa la abreviatura de la zona horaria. Este valor se ajustará según sea necesario para el horario de verano. Para long
, Long
y Date
la zona horaria usada es la zona horaria predeterminada TimeZone#getDefault() para esta instancia de la máquina virtual Java. La configuración regional del formateador reemplazará la configuración regional del argumento (si existe).
<tr><th scope="row" style="vertical-align:top"'s'
><td> Seconds desde el principio de la época a partir del 1 de enero de 1970 00:00:00
UTC, es decirLong.MIN_VALUE/1000
, a .Long.MAX_VALUE/1000
<tr><th scope="row" style="vertical-align:top"'Q'
><td> Miliseconds desde el principio de la época a partir del 1 de enero de 1970 00:00:00
UTC, es decirLong.MIN_VALUE
, a .Long.MAX_VALUE
</tbody></table>
Los siguientes caracteres de conversión se usan para dar formato a las fechas:
<table class="striped"><caption style="display:none">date</caption><tbody>
<tr><th scope="row" style="vertical-align:top"'B'
<>td> Locale-specific java.text.DateFormatSymbols#getMonths full month name, por ejemplo"January"
, , . "February"
<tr><th scope="row" style="vertical-align:top"'b'
<>td> Locale-specific java.text.DateFormatSymbols#getShortMonths abbreviated month name, por ejemplo"Jan"
, , . "Feb"
<tr><th scope="row" style="vertical-align:top"><'h'
td> Same as .'b'
<tr><th scope="row" style="vertical-align:top"'A'
<>td> Locale-specific full name of the java.text.DateFormatSymbols#getWeekdays day of the week, Por ejemplo"Sunday"
, ,<"Monday"
tr><th scope="row" style="vertical-align:top"'a'
><td> Locale-specific short name of the java.text.DateFormatSymbols#getShortWeekdays day of the week, p. ej. "Sun"
, "Mon"
<tr><th scope="row" style="vertical-align:top"'C'
<>td> Four-digit year dividido por 100
, con formato de dos dígitos con cero a la izquierda según sea necesario, es decir00 - 99
<, tr><th scope="row" style="vertical-align:top"'Y'
<>td> Year, formateado como mínimo cuatro dígitos con ceros iniciales según sea necesario, por ejemplo0092
, es igual 92
a CE para el calendario gregoriano.
<tr><th scope="row" style="vertical-align:top"><'y'
td> Últimos dos dígitos del año, formateado con ceros iniciales según sea necesario, es decir00 - 99
, .
<tr><th scope="row" style="vertical-align:top"><'j'
td> Day of year, formateado como tres dígitos con ceros iniciales según sea necesario, por ejemplo001 - 366
, para el calendario gregoriano.
<tr><th scope="row" style="vertical-align:top"><'m'
td> Month, formateado como dos dígitos con ceros iniciales según sea necesario, es decir01 - 13
, .
<tr><th scope="row" style="vertical-align:top"'d'
<>td> Day of month, formateado como dos dígitos con ceros iniciales según sea necesario, es decir01 - 31
<, tr><th scope="row" style="vertical-align:top"'e'
<>td> Day of month, formateado como dos dígitos, es decir1 - 31
, .
</tbody></table>
Los siguientes caracteres de conversión se usan para dar formato a composiciones comunes de fecha y hora.
<table class="striped"><caption style="display:none">composites</caption><tbody>
<tr><th scope="row" style="vertical-align:top"'R'
<>td> Time formatted for the 24-hour clock as "%tH:%tM"
<tr><th scope="row" style="vertical-align:top"'T'
<>td> Time formatted for the 24-hour clock as ."%tH:%tM:%tS"
<tr><th scope="row" style="vertical-align:top"><'r'
td> Time formatted for the 12-hour clock as ."%tI:%tM:%tS %Tp"
La ubicación del marcador de la mañana o de la tarde ('%Tp'
) puede ser dependiente de la configuración regional.
<tr><th scope="row" style="vertical-align:top"><'D'
td> Date formatted as ."%tm/%td/%ty"
<tr><th scope="row" style="vertical-align:top">'F'
<td>ISO 8601 complete date formatted as ."%tY-%tm-%td"
<tr><th scope="row" style="vertical-align:top"'c'
<>td> Fecha y hora con "%ta %tb %td %tT %tZ %tY"
formato , por ejemplo"Sun Jul 20 16:17:00 EDT 1969"
, .
</tbody></table>
Los caracteres que no se definen explícitamente como sufijos de conversión de fecha y hora son ilegales y están reservados para extensiones futuras.
<h4> Marcas </h4>
En la tabla siguiente se resumen las marcas admitidas. y significa que la marca se admite para los tipos de argumento indicados.
<table class="striped"><caption style="display:none">genConv</caption><thead><tr><th scope="col" style="vertical-align:bottom"> Flag <th scope="col" style="vertical-align:bottom"> General <th scope="col" style="vertical-align:bottom"> Character <th scope="col" style="vertical-align:bottom"> Integral <th scope="col" style="vertical-align:bottom"> Floating Point <th scope="col" style=" vertical-align:bottom"> Date/Time <th scope="col" style="vertical-align:bottom"> Description </thead><tbody<>tr><th scope="row"><td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td> El resultado se justificará a la izquierda.
<tr><th scope="row"> '#' <td style="text-align:center; vertical-align:top"> y<sup>1</sup<>td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup 3</sup><>td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> El resultado debe usar un formulario alternativo dependiente de la conversión
<tr><th scope="row"> '+' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>4</sup><td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> El resultado siempre incluirá un signo
<tr><th scope="row"> ' ' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>4</sup><td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> El resultado incluirá un espacio inicial para los valores positivos.
<tr><th scope="row"> '0' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> El resultado será cero-padded
<tr><th scope="row"> ',' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>2</sup<>td style="text-align:center; vertical-align:top"> y<sup 5</sup>><td style="text-align:center; vertical-align:top"> - <td> El resultado incluirá java.text.DecimalFormatSymbols#getGroupingSeparator grouping separators<tr><th scope="row"> '(' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>4</sup<>td style="text-align:center; vertical-align:top"> y<sup>5</sup><td style="text-align:center"> - <td> El resultado incluirá números negativos entre paréntesis
</tbody></table>
<sup>1/sup> Depende de la definición de Formattable
<.
<sup>2</sup> Solo para 'd'
la conversión.
<sup>3</sup> Solo para 'o'
las conversiones , 'x'
y 'X'
.
<sup>4</sup> Para 'd'
las conversiones , 'o'
, 'x'
y 'X'
aplicadas a o aplicadas a 'd'
java.math.BigInteger BigInteger
byte
, Byte
, short
Short
, int
y . long
Long
Integer
<sup>5</sup> Solo para 'e'
conversiones , 'E'
, 'f'
, 'g'
y 'G'
.
Los caracteres que no se definen explícitamente como marcas son ilegales y están reservados para extensiones futuras.
<h4> Width </h4>
El ancho es el número mínimo de caracteres que se van a escribir en la salida. Para la conversión del separador de líneas, el ancho no es aplicable; si se proporciona, se producirá una excepción.
<h4> Precisión </h4>
Para los tipos de argumento generales, la precisión es el número máximo de caracteres que se van a escribir en la salida.
Para las conversiones 'a'
de punto flotante , 'A'
, 'e'
, 'E'
y 'f'
la precisión es el número de dígitos después del punto radix. Si la conversión es 'g'
o 'G'
, la precisión es el número total de dígitos en la magnitud resultante después del redondeo.
Para los tipos de argumentos de caracteres, enteros y de fecha y hora y las conversiones de separador de porcentaje y línea, la precisión no es aplicable; si se proporciona una precisión, se producirá una excepción.
<h4> Argument Index </h4>
El índice del argumento es un entero decimal que indica la posición del argumento en la lista de argumentos. Se hace referencia al primer argumento por "1$
", el segundo por "2$
", etc.
Otra manera de hacer referencia a los argumentos por posición es usar la '<'
marca ('\u003c'
), lo que hace que el argumento del especificador de formato anterior se vuelva a usar. Por ejemplo, las dos instrucciones siguientes generarían cadenas idénticas:
<blockquote>
Calendar c = ...;
String s1 = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);
String s2 = String.format("Duke's Birthday: %1$tm %<te,%<tY", c);
</blockquote>
<hr><h3>"detail">Details</h3>
Esta sección está pensada para proporcionar detalles de comportamiento para el formato, incluidas las condiciones y excepciones, los tipos de datos admitidos, la localización y las interacciones entre marcas, conversiones y tipos de datos. Para obtener información general sobre los conceptos de formato, consulte resumen.
Los caracteres que no se definen explícitamente como conversiones, sufijos de conversión de fecha y hora o marcas no son válidos y están reservados para extensiones futuras. El uso de este tipo de carácter en una cadena de formato hará que UnknownFormatConversionException
se produzca o UnknownFormatFlagsException
.
Si el especificador de formato contiene un ancho o una precisión con un valor no válido o que no es compatible, se producirá una IllegalFormatWidthException
excepción o IllegalFormatPrecisionException
respectivamente.
Si un especificador de formato contiene un carácter de conversión que no es aplicable al argumento correspondiente, se producirá una IllegalFormatConversionException
excepción .
Todas las excepciones especificadas pueden ser producidas por cualquiera de los format
métodos de Formatter
, así como por cualquier format
método de conveniencia, como String#format(String,Object...) String.format
y java.io.PrintStream#printf(String,Object...) PrintStream.printf
.
Para la categoría General, Carácter, Numeración, Integral y Fecha y Hora, a menos que se especifique lo contrario, si el argumento arges null
, el resultado es "null
".
Las conversiones indicadas por un carácter en mayúsculas (es decir'B'
, , , 'H'
, 'S'
'C'
'X'
, 'E'
, , 'G'
, y 'A'
'T'
) son las mismas que las de los caracteres de conversión en minúsculas correspondientes, excepto que el resultado se convierte en mayúsculas según las reglas del control predominantejava.util.Locale Locale
. Si no hay ninguna configuración regional explícita especificada, ya sea en la construcción de la instancia o como parámetro para su invocación de método, java.util.Locale.Category#FORMAT default locale
se usará .
<h4>"dgen">General</h4>
Las siguientes conversiones generales se pueden aplicar a cualquier tipo de argumento:
<table class="striped"><caption style="display:none">dgConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top"<'b'
>td style="vertical-align:top"'\u0062'
><td> Produce "true
" o "false
" como devuelve .Boolean#toString(boolean)
Si el argumento es null
, el resultado es "false
". Si el argumento es o boolean
Boolean
, el resultado es la cadena devuelta por String#valueOf(boolean) String.valueOf()
. De lo contrario, el resultado es "true
".
Si se especifica la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'B'
><td style="vertical-align:top"'\u0042'
<>td> La variante mayúscula de .'b'
<tr><th scope="row" style="vertical-align:top">'h'
<td style="vertical-align:top"'\u0068'
><td> Produce una cadena que representa el valor de código hash del objeto.
El resultado se obtiene invocando Integer.toHexString(arg.hashCode())
.
Si se especifica la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'H'
><td style="vertical-align:top"'\u0048'
<>td> La variante mayúscula de .'h'
<tr><th scope="row" style="vertical-align:top">'s'
<td style="vertical-align:top"'\u0073'
><td> Produce una cadena.
Si el argumento implementa Formattable
, se invoca su Formattable#formatTo formatTo
método. De lo contrario, el resultado se obtiene invocando el método del toString()
argumento.
Si se especifica la '#'
marca y el argumento no es , Formattable
se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'S'
><td style="vertical-align:top"'\u0053'
<>td> La variante mayúscula de .'s'
</tbody></table>
Las siguientes marcas "dFlags"> se aplican a conversiones generales:
<table class="striped"><caption style="display:none">dFlags</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'-'
<td style="vertical-align:top"'\u002d'
><td> Left justifica la salida. Los espacios ('\u0020'
) se agregarán al final del valor convertido según sea necesario para rellenar el ancho mínimo del campo. Si no se proporciona el ancho, se producirá una MissingFormatWidthException
excepción . Si no se proporciona esta marca, la salida estará justificada a la derecha.
<tr><th scope="row" style="vertical-align:top">'#'
<td style="vertical-align:top"'\u0023'
><td> Requiere que la salida use un formulario alternativo. La conversión especifica la definición del formulario.
</tbody></table>
El ancho "genWidth"> es el número mínimo de caracteres que se van a escribir en la salida. Si la longitud del valor convertido es menor que el ancho, la salida se rellenará por ' '
('\u0020'
) hasta que el número total de caracteres sea igual al ancho. El relleno está a la izquierda de forma predeterminada. Si se especifica la '-'
marca, el relleno estará a la derecha. Si no se especifica el ancho, no hay ningún mínimo.
La precisión es el número máximo de caracteres que se van a escribir en la salida. La precisión se aplica antes del ancho, por lo que la salida se truncará en precision
caracteres aunque el ancho sea mayor que la precisión. Si no se especifica la precisión, no hay ningún límite explícito en el número de caracteres.
<h4>"dchar">Character</h4>
Esta conversión se puede aplicar a char
y Character
. También se puede aplicar a los tipos byte
, Byte
, short
y Short
, int
y Integer
cuando Character#isValidCodePoint
devuelve true
. Si devuelve false
, se producirá una IllegalFormatCodePointException
excepción .
<table class="striped"><caption style="display:none">charConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'c'
<td style="vertical-align:top"'\u0063'
><td> Formats the argument as a Unicode character as descript in Unicode Character Representation. Puede ser más de un 16 bits char
en el caso de que el argumento represente un carácter complementario.
Si se especifica la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'C'
><td style="vertical-align:top"'\u0043'
<>td> La variante mayúscula de .'c'
</tbody></table>
Se aplica la '-'
marca definida para conversiones generales. Si se especifica la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
El ancho se define como para las conversiones generales.
La precisión no es aplicable. Si se especifica la precisión, se producirá una IllegalFormatPrecisionException
excepción .
<h4>"dnum">Numeric</h4>
Las conversiones numéricas se dividen en las siguientes categorías:
<Ol>
<li>b Byte, Short, Integer y Long</b li><b><>BigInteger</b li<>b><>Float y Double</b li<>b><>BigDecimal</b><><>
Los tipos numéricos se formatearán según el algoritmo siguiente:
<b>"L10nAlgorithm"> Algoritmo< de localización de números/b>
Después de obtener dígitos para la parte entera, la parte fraccionarcional y el exponente (según corresponda para el tipo de datos), se aplica la siguiente transformación:
<Ol>
<li> Cada carácter de dígito d de la cadena se reemplaza por un dígito específico de la configuración regional calculado en relación con la configuración regional actual java.text.DecimalFormatSymbols#getZeroDigit() cero dígitoz; es decir , d - '0'
+ z.
<li> Si existe un separador decimal, se sustituye un separador decimal específico de la configuración regional java.text.DecimalFormatSymbols#getDecimalSeparator.
<li> Si se especifica la ','
marca "'\u002c'
L10nGroup",> se inserta la marca java.text.DecimalFormatSymbols#getGroupingSeparator que examina la parte entera de la cadena de menos significativo a los dígitos más significativos e inserta un separador en intervalos definidos por el tamaño de agrupación java.text.DecimalFormat#getGroupingSize().
<li> Si se especifica la '0'
marca, los dígitos cero específicos de la configuración regional java.text.DecimalFormatSymbols#getZeroDigit() se insertan después del carácter de signo, si existe, y antes del primer dígito distinto de cero, hasta que la longitud de la cadena sea igual al ancho del campo solicitado.
<li> Si el valor es negativo y se da la '('
marca, se antepone un '('
('\u0028'
) y se anexa un ')'
('\u0029'
).
<li> Si el valor es negativo (o cero negativo de punto flotante) y '('
no se especifica la marca , se antepone a '-'
('\u002d'
).
<li> Si se da la '+'
marca y el valor es positivo o cero (o cero positivo de punto flotante), se anteponerá un '+'
('\u002b'
).
</Ol>
Si el valor es NaN o infinito positivo, se generarán las cadenas literales "NaN" o "Infinity" respectivamente. Si el valor es infinito negativo, la salida será "(Infinity)" si la '('
marca se proporciona de lo contrario, la salida será "-Infinity". Estos valores no se localizan.
"dnint"><b> Byte, Short, Integer y Long </b>
Las conversiones siguientes se pueden aplicar a byte
, Byte
, short
Short
, int
y Integer
, long
y Long
.
<table class="striped"><caption style="display:none">IntConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'d'
<td style="vertical-align:top"'\u0064'
><td> Formats the argument as a decimal integer. Se aplica el algoritmo de localización.
Si se especifica la '0'
marca y el valor es negativo, el relleno cero se producirá después del signo.
Si se especifica la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top">'o'
<td style="vertical-align:top"'\u006f'
><td> Formats the argument as an integer in base ocho. No se aplica ninguna localización.
Si x es negativo, el resultado será un valor sin signo generado agregando 2<sup>n</sup> al valor donde n
es el número de bits del tipo devuelto por el campo estático SIZE
en las clases Byte#SIZE, Short#SIZE Short, Integer#SIZE Integer o Long#SIZE Long según corresponda.
Si se proporciona la '#'
marca, la salida siempre comenzará con el indicador '0'
radix .
Si se proporciona la '0'
marca, la salida se rellenará con ceros iniciales al ancho del campo siguiendo cualquier indicación de signo.
Si '('
, , '+'
' ', o ','
se proporcionan marcas, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top">'x'
<td style="vertical-align:top"'\u0078'
><td> Formats the argument as an integer in base dieciséis. No se aplica ninguna localización.
Si x es negativo, el resultado será un valor sin signo generado agregando 2<sup>n</sup> al valor donde n
es el número de bits del tipo devuelto por el campo estático SIZE
en las clases Byte#SIZE, Short#SIZE Short, Integer#SIZE Integer o Long#SIZE Long según corresponda.
Si se proporciona la '#'
marca, la salida siempre comenzará con el indicador "0x"
radix .
Si se proporciona la '0'
marca, la salida se rellenará en el ancho del campo con ceros iniciales después del indicador o signo de radix (si está presente).
Si '('
se proporcionan marcas , ' '
'+'
, o ','
, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'X'
><td style="vertical-align:top"'\u0058'
<>td> La variante mayúscula de .'x'
Toda la cadena que representa el número se convertirá en mayúscula String#toUpperCase, incluidos los 'x'
dígitos hexadecimales (si los hay) y todos los dígitos hexadecimales'f'
- 'a'
().'\u0061'
- '\u0066'
</tbody></table>
Si la conversión es 'o'
, 'x'
o 'X'
y se proporcionan las '#'
marcas y '0'
, el resultado contendrá el indicador radix ('0'
para octal y "0x"
para "0X"
hexadecimal), un número de ceros (basado en el ancho) y el valor .
Si no se especifica la '-'
marca, el espaciado se producirá antes del signo.
Las marcas "intFlags"> siguientes se aplican a las conversiones integrales numéricas:
<table class="striped"><caption style="display:none">intFlags</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'+'
<td style="vertical-align:top"'\u002b'
><td> Requiere que la salida incluya un signo positivo para todos los números positivos. Si no se especifica esta marca, solo se incluirán valores negativos.
Si se proporcionan las '+'
marcas y ' '
, se producirá una IllegalFormatFlagsException
excepción .
<tr><th scope="row" style="vertical-align:top"' '
><td style="vertical-align:top"'\u0020'
<>td> Requiere que la salida incluya un único espacio adicional ('\u0020'
) para valores no negativos.
Si se proporcionan las '+'
marcas y ' '
, se producirá una IllegalFormatFlagsException
excepción .
<tr><th scope="row" style="vertical-align:top">'0'
<td style="vertical-align:top"'\u0030'
><td> Requiere que la salida se acolcha con java.text inicial.DecimalFormatSymbols#getZeroDigit ceros al ancho mínimo del campo siguiendo cualquier indicador de signo o radix excepto al convertir NaN o infinito. Si no se proporciona el ancho, se producirá una MissingFormatWidthException
excepción .
Si se proporcionan las '-'
marcas y '0'
, se producirá una IllegalFormatFlagsException
excepción .
<tr><th scope="row" style="vertical-align:top">','
<td style="vertical-align:top"'\u002c'
><td> Requiere que la salida incluya el java.text.DecimalFormatSymbols#getGroupingSeparators como se describe en la sección "group" del algoritmo de localización.
<tr><th scope="row" style="vertical-align:top"'('
><td style="vertical-align:top">'\u0028'
<td> Requiere la salida para anteponer una '('
('\u0028'
) y anexar ('\u0029'
')'
) a valores negativos.
</tbody></table>
Si no se proporcionan marcas "intdFlags",> el formato predeterminado es el siguiente:
<ul>
<li> La salida está justificada a la derecha dentro de los width
<números li> Negativos comienza con un '-'
('\u002d'
)
<los> números positivos li y cero no incluyen un signo ni un espacio inicial adicional
<li> No se incluyen separadores de agrupación
</ul>
El ancho "intWidth"> es el número mínimo de caracteres que se van a escribir en la salida. Esto incluye signos, dígitos, separadores de agrupación, indicador radix y paréntesis. Si la longitud del valor convertido es menor que el ancho, el resultado se rellenará por espacios ('\u0020'
) hasta que el número total de caracteres sea igual al ancho. El relleno está a la izquierda de forma predeterminada. Si '-'
se asigna la marca, el relleno estará a la derecha. Si no se especifica el ancho, no hay ningún mínimo.
La precisión no es aplicable. Si se especifica precisión, se producirá una IllegalFormatPrecisionException
excepción .
"dnbint"><b> BigInteger </b>
Las conversiones siguientes se pueden aplicar a java.math.BigInteger
.
<table class="striped"><caption style="display:none">bIntConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'d'
<td style="vertical-align:top"'\u0064'
><td> Requiere que la salida tenga el formato de entero decimal. Se aplica el algoritmo de localización.
Si se da FormatFlagsConversionMismatchException
la '#'
marca, se iniciará.
<tr><th scope="row" style="vertical-align:top">'o'
<td style="vertical-align:top"'\u006f'
><td> Requiere que la salida tenga el formato de entero en la base ocho. No se aplica ninguna localización.
Si x es negativo, el resultado será un valor con signo a partir '-'
de ('\u002d'
). La salida firmada se permite para este tipo porque, a diferencia de los tipos primitivos, no es posible crear un equivalente sin firmar sin asumir un tamaño de tipo de datos explícito.
Si x es positivo o cero y se asigna la '+'
marca, el resultado comenzará por '+'
('\u002b'
).
Si se proporciona la '#'
marca, la salida siempre comenzará con '0'
el prefijo.
Si se proporciona la '0'
marca, la salida se rellenará con ceros iniciales al ancho del campo siguiendo cualquier indicación de signo.
Si se especifica la ','
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top">'x'
<td style="vertical-align:top"'\u0078'
><td> Requiere que la salida tenga el formato de entero en la base dieciséis. No se aplica ninguna localización.
Si x es negativo, el resultado será un valor con signo a partir '-'
de ('\u002d'
). La salida firmada se permite para este tipo porque, a diferencia de los tipos primitivos, no es posible crear un equivalente sin firmar sin asumir un tamaño de tipo de datos explícito.
Si x es positivo o cero y se asigna la '+'
marca, el resultado comenzará por '+'
('\u002b'
).
Si se proporciona la '#'
marca, la salida siempre comenzará con el indicador "0x"
radix .
Si se proporciona la '0'
marca, la salida se rellenará en el ancho del campo con ceros iniciales después del indicador o signo de radix (si está presente).
Si se especifica la ','
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'X'
><td style="vertical-align:top"'\u0058'
<>td> La variante mayúscula de .'x'
Toda la cadena que representa el número se convertirá en mayúscula String#toUpperCase, incluidos los 'x'
dígitos hexadecimales (si los hay) y todos los dígitos hexadecimales'f'
- 'a'
().'\u0061'
- '\u0066'
</tbody></table>
Si la conversión es 'o'
, 'x'
o 'X'
y se proporcionan las '#'
marcas y '0'
, el resultado contendrá el indicador base ('0'
para octal o "0x"
"0X"
para hexadecimal), un número de ceros (basado en el ancho) y el valor .
Si se especifica la '0'
marca y el valor es negativo, el relleno cero se producirá después del signo.
Si no se especifica la '-'
marca, el espaciado se producirá antes del signo.
Todas las marcas definidas para Byte, Short, Integer y Long se aplican. El comportamiento predeterminado cuando no se proporcionan marcas es el mismo que para Byte, Short, Integer y Long.
La especificación de ancho es la misma que se define para Byte, Short, Integer y Long.
La precisión no es aplicable. Si se especifica precisión, se producirá una IllegalFormatPrecisionException
excepción .
"dndec"><b> Float y Double</b>
Las conversiones siguientes se pueden aplicar a float
, Float
double
y Double
.
<table class="striped"><caption style="display:none">floatConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top"'e'
><td style="vertical-align:top"'\u0065'
<>td> Requiere que la salida tenga el formato "scientific">computerized scientific notation. Se aplica el algoritmo de localización.
El formato de la magnitud m depende de su valor.
Si m es NaN o infinito, se generarán las cadenas literales "NaN" o "Infinity", respectivamente. Estos valores no se localizan.
Si m es positivo-cero o negativo-cero, el exponente será "+00"
.
De lo contrario, el resultado es una cadena que representa el signo y la magnitud (valor absoluto) del argumento. El formato del signo se describe en el algoritmo de localización. El formato de la magnitud m depende de su valor.
Vamos a ser el entero único de tal forma que 10<sup>n</sup> <= m < 10<sup>n+1</sup>; después deje que sea el cociente matemático exacto de m y 10<sup>n</sup> para que 1 <= a <'e'
, ), seguido del signo del exponente, seguido de una representación de n como entero decimal, como se genera mediante el método Long#toString(long, int)
, y cero rellenado para incluir al menos dos dígitos.
El número de dígitos del resultado para la parte fraccionaria de m o unes igual a la precisión. Si no se especifica la precisión, el valor predeterminado es 6
. Si la precisión es menor que el número de dígitos que aparecerían después del separador decimal de la cadena devuelta por Float#toString(float)
o Double#toString(double)
respectivamente, el valor se redondeará mediante el algoritmo java.math.RoundingMode#HALF_UP redondeo de la mitad hacia arriba. De lo contrario, se pueden anexar ceros para alcanzar la precisión. Para una representación canónica del valor, use Float#toString(float)
o Double#toString(double)
según corresponda.
Si se proporciona la ','
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'E'
><td style="vertical-align:top"'\u0045'
<>td> La variante mayúscula de .'e'
El símbolo del exponente será el separador de exponente del exponente java.text.DecimalFormatSymbols#getExponentSeparator (por ejemplo 'E'
, ).
<tr><th scope="row" style="vertical-align:top">'g'
<td style="vertical-align:top"'\u0067'
><td> Requiere que la salida tenga el formato en notación científica general como se describe a continuación. Se aplica el algoritmo de localización.
Después del redondeo de la precisión, el formato de la magnitud resultante m depende de su valor.
Si m es mayor o igual que 10<sup-4></sup>, pero menor que 10<sup>precisión</sup>, se representa en formato decimal.
Si m es menor que 10<sup-4<>/sup> o mayor o igual que 10<sup>precisión</sup>, se representa en notación científica computerizada.
El número total de dígitos significativos en m es igual a la precisión. Si no se especifica la precisión, el valor predeterminado es 6
. Si la precisión es 0
, se toma como 1
.
Si se proporciona la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'G'
><td style="vertical-align:top"'\u0047'
<>td> La variante mayúscula de .'g'
<tr><th scope="row" style="vertical-align:top"'f'
><td style="vertical-align:top"'\u0066'
<>td> Requiere que la salida tenga el formato "decimal".> Se aplica el algoritmo de localización.
El resultado es una cadena que representa el signo y la magnitud (valor absoluto) del argumento. El formato del signo se describe en el algoritmo de localización. El formato de la magnitud m depende de su valor.
Si m NaN o infinito, se generarán las cadenas literales "NaN" o "Infinity", respectivamente. Estos valores no se localizan.
La magnitud tiene el formato de la parte entera de m, sin ceros iniciales, seguido del separador decimal seguido de uno o más dígitos decimales que representan la parte fraccionaria de m.
El número de dígitos del resultado para la parte fraccionaria de m o unes igual a la precisión. Si no se especifica la precisión, el valor predeterminado es 6
. Si la precisión es menor que el número de dígitos que aparecerían después del separador decimal de la cadena devuelta por Float#toString(float)
o Double#toString(double)
respectivamente, el valor se redondeará mediante el algoritmo java.math.RoundingMode#HALF_UP redondeo de la mitad hacia arriba. De lo contrario, se pueden anexar ceros para alcanzar la precisión. Para una representación canónica del valor, use Float#toString(float)
o Double#toString(double)
según corresponda.
<tr><th scope="row" style="vertical-align:top">'a'
<td style="vertical-align:top"'\u0061'
><td> Requiere que la salida tenga el formato exponencial hexadecimal. No se aplica ninguna localización.
El resultado es una cadena que representa el signo y la magnitud (valor absoluto) del argumento x.
Si x es negativo o un valor negativo-cero, el resultado comenzará por '-'
('\u002d'
).
Si x es positivo o un valor positivo-cero y se asigna la '+'
marca, el resultado comenzará por '+'
('\u002b'
).
El formato de la magnitud m depende de su valor.
<ul>
<li> Si el valor es NaN o infinito, se generarán las cadenas literales "NaN" o "Infinity", respectivamente.
<li> Si m es cero, se representa mediante la cadena "0x0.0p0"
.
<li> Si m es un double
valor con una representación normalizada, las subcadenas se usan para representar los campos significand y exponente. El significado se representa mediante los caracteres seguidos "0x1."
de la representación hexadecimal del resto del significando como una fracción. El exponente se representa mediante 'p'
('\u0070'
) seguido de una cadena decimal del exponente no sesgado como si se generara invocando Integer#toString(int) Integer.toString
en el valor exponente. Si se especifica la precisión, el valor se redondea al número especificado de dígitos hexadecimales.
<li> Si m es un double
valor con una representación subnormal, a menos que se especifique la precisión para que esté en el intervalo de 1 a 12, inclusive, el significado se representa mediante los caracteres seguidos '0x0.'
de la representación hexadecimal del resto del significando como una fracción y el exponente representado por 'p-1022'
. Si la precisión está en el intervalo [1, 12], el valor subnormal se normaliza de modo que comience con los caracteres '0x1.'
, redondeado al número de dígitos hexadecimales de precisión y el exponente se ajusta en consecuencia. Tenga en cuenta que debe haber al menos un dígito distinto de cero en un significando subnormal.
</ul>
Si se proporcionan las '('
marcas o ','
, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'A'
><td style="vertical-align:top"'\u0041'
<>td> La variante mayúscula de .'a'
Toda la cadena que representa el número se convertirá en mayúsculas, incluidos los 'x'
dígitos () y ('\u0078'
'\u0070'
y 'p'
todos los dígitos'f'
- 'a'
hexadecimales ().'\u0061'
- '\u0066'
</tbody></table>
Todas las marcas definidas para Byte, Short, Integer y Long se aplican.
Si se especifica la '#'
marca, el separador decimal siempre estará presente.
Si no se proporcionan marcas "floatdFlags",> el formato predeterminado es el siguiente:
<ul>
<li> La salida está justificada a la derecha dentro de los width
<números li> Negativos comienza con un '-'
<li> Números positivos y el cero positivo no incluyen un signo o espacio inicial adicional.
<li> No se incluyen separadores de agrupación
<li> El separador decimal solo aparecerá si un dígito lo sigue
</ul>
El ancho "floatDWidth"> es el número mínimo de caracteres que se van a escribir en la salida. Esto incluye los signos, dígitos, separadores de agrupación, separadores decimales, símbolo exponencial, indicador radix, paréntesis y cadenas que representan infinito y NaN según corresponda. Si la longitud del valor convertido es menor que el ancho, el resultado se rellenará por espacios ('\u0020'
) hasta que el número total de caracteres sea igual al ancho. El relleno está a la izquierda de forma predeterminada. Si se asigna la '-'
marca, el relleno estará a la derecha. Si no se especifica el ancho, no hay ningún mínimo.
Si la conversión "floatDPrec"> es 'e'
, 'E'
o 'f'
, la precisión es el número de dígitos después del separador decimal. Si no se especifica la precisión, se supone que es 6
.
Si la conversión es 'g'
o 'G'
, la precisión es el número total de dígitos significativos en la magnitud resultante después del redondeo. Si no se especifica la precisión, el valor predeterminado es 6
. Si la precisión es 0
, se toma como 1
.
Si la conversión es 'a'
o 'A'
, la precisión es el número de dígitos hexadecimales después del punto radix. Si no se proporciona la precisión, se mostrarán todos los dígitos devueltos por Double#toHexString(double)
.
"dnbdec"><b> BigDecimal </b>
Se pueden aplicar java.math.BigDecimal BigDecimal
las conversiones siguientes.
<table class="striped"><caption style="display:none">floatConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top"'e'
><td style="vertical-align:top"'\u0065'
<>td> Require the output to be formatted using "bscientific">computerized scientific notation. Se aplica el algoritmo de localización.
El formato de la magnitud m depende de su valor.
Si m es positivo-cero o negativo-cero, el exponente será "+00"
.
De lo contrario, el resultado es una cadena que representa el signo y la magnitud (valor absoluto) del argumento. El formato del signo se describe en el algoritmo de localización. El formato de la magnitud m depende de su valor.
Vamos a ser el entero único de tal forma que 10<sup>n</sup> <= m < 10<sup>n+1</sup>; después deje que sea el cociente matemático exacto de m y 10<sup>n</sup> para que 1 <= a <'e'
exponente ('\u0065'
), seguido del signo del exponente, seguido del signo del exponente, seguido de una representación de n como un entero decimal, como se genera mediante el método Long#toString(long, int)
, y sin rellenar para incluir al menos dos dígitos.
El número de dígitos del resultado para la parte fraccionaria de m o unes igual a la precisión. Si no se especifica la precisión, el valor predeterminado es 6
. Si la precisión es menor que el número de dígitos a la derecha del separador decimal, el valor se redondeará mediante el algoritmo java.math.RoundingMode#HALF_UP redondear la mitad hacia arriba. De lo contrario, se pueden anexar ceros para alcanzar la precisión. Para una representación canónica del valor, use BigDecimal#toString()
.
Si se proporciona la ','
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'E'
><td style="vertical-align:top"'\u0045'
<>td> La variante mayúscula de .'e'
El símbolo del exponente será 'E'
('\u0045'
).
<tr><th scope="row" style="vertical-align:top">'g'
<td style="vertical-align:top"'\u0067'
><td> Requiere que la salida tenga el formato en notación científica general como se describe a continuación. Se aplica el algoritmo de localización.
Después del redondeo de la precisión, el formato de la magnitud resultante m depende de su valor.
Si m es mayor o igual que 10<sup-4></sup>, pero menor que 10<sup>precisión</sup>, se representa en formato decimal.
Si m es menor que 10<sup-4<>/sup> o mayor o igual que 10<sup>precisión</sup>, se representa en notación científica computerizada.
El número total de dígitos significativos en m es igual a la precisión. Si no se especifica la precisión, el valor predeterminado es 6
. Si la precisión es 0
, se toma como 1
.
Si se proporciona la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
<tr><th scope="row" style="vertical-align:top"'G'
><td style="vertical-align:top"'\u0047'
<>td> La variante mayúscula de .'g'
<tr><th scope="row" style="vertical-align:top"'f'
><td style="vertical-align:top"'\u0066'
<>td> Requiere que la salida tenga el formato "bdecimal">decimal. Se aplica el algoritmo de localización.
El resultado es una cadena que representa el signo y la magnitud (valor absoluto) del argumento. El formato del signo se describe en el algoritmo de localización. El formato de la magnitud m depende de su valor.
La magnitud tiene el formato de la parte entera de m, sin ceros iniciales, seguido del separador decimal seguido de uno o más dígitos decimales que representan la parte fraccionaria de m.
El número de dígitos del resultado para la parte fraccionaria de m o unes igual a la precisión. Si no se especifica la precisión, el valor predeterminado es 6
. Si la precisión es menor que el número de dígitos a la derecha del separador decimal, el valor se redondeará mediante el algoritmo java.math.RoundingMode#HALF_UP redondear la mitad hacia arriba. De lo contrario, se pueden anexar ceros para alcanzar la precisión. Para una representación canónica del valor, use BigDecimal#toString()
.
</tbody></table>
Todas las marcas definidas para Byte, Short, Integer y Long se aplican.
Si se especifica la '#'
marca, el separador decimal siempre estará presente.
El comportamiento predeterminado cuando no se proporcionan marcas es el mismo que para Float y Double.
La especificación de ancho y precisión es la misma que se define para Float y Double.
<h4>"ddt">Date/Time</h4>
Esta conversión se puede aplicar a long
, Long
, Calendar
y Date
<TemporalAccessor TemporalAccessor
table class="striped"><caption style="display:none">DTConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'t'
<td style="vertical-align:top"'\u0074'
><td> Prefix for date and time conversion characters. <tr><th scope="row" style="vertical-align:top"'T'
><td style="vertical-align:top"'\u0054'
<>td> La variante mayúscula de .'t'
</tbody></table>
Los siguientes sufijos de caracteres de conversión de fecha y hora se definen para las 't'
conversiones y 'T'
. Los tipos son similares a los definidos por GNU y POSIX, pero no son completamente idénticos a los definidos por GNU date
y POSIX strftime(3c)
. Se proporcionan tipos de conversión adicionales para acceder a la funcionalidad específica de Java (por ejemplo, 'L'
para milisegundos dentro del segundo).
Los siguientes caracteres de conversión se usan para dar formato a los tiempos:
<table class="striped"><caption style="display:none">time</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'H'
<td style="vertical-align:top">'\u0048'
<td> Hour of the day for the 24-hour clock, formateado como dos dígitos con un cero inicial según sea necesario, es decir, 00 - 23
. 00
corresponde a medianoche.
<tr><th scope="row" style="vertical-align:top"'I'
><td style="vertical-align:top"'\u0049'
<>td> Hour para el reloj de 12 horas, con formato de dos dígitos con un cero inicial según sea necesario, es decir01 - 12
, . 01
corresponde a una hora (ya sea por la mañana o por la tarde).
<tr><th scope="row" style="vertical-align:top">'k'
<td style="vertical-align:top">'\u006b'
<td> Hour of the day for the 24-hour clock, es decir 0 - 23
, . 0
corresponde a medianoche.
<tr><th scope="row" style="vertical-align:top">'l'
<td style="vertical-align:top">'\u006c'
<td> Hour para el reloj de 12 horas, es decir 1 - 12
, . 1
corresponde a una hora (ya sea mañana o tarde).
<tr><th scope="row" style="vertical-align:top"'M'
><td style="vertical-align:top"'\u004d'
<>td> Minute dentro de la hora con formato de dos dígitos con un cero inicial según sea necesario, es decir00 - 59
, .
<tr><th scope="row" style="vertical-align:top">'S'
<td style="vertical-align:top">'\u0053'
<td> Seconds within the minute, formatted as two digits with a leading zero as required, i.e. 00 - 60
("60
" is a special value required to support leap seconds).
<tr><th scope="row" style="vertical-align:top"'L'
><td style="vertical-align:top"'\u004c'
<>td Milisegundo> dentro del segundo formato como tres dígitos con ceros iniciales según sea necesario, es decir000 - 999
, .
<tr><th scope="row" style="vertical-align:top"'N'
><td style="vertical-align:top"'\u004e'
<>td> Nanosecond dentro del segundo, formateado como nueve dígitos con ceros iniciales según sea necesario, es decir000000000 - 999999999
, . La precisión de este valor está limitada por la resolución del sistema operativo o hardware subyacente.
<tr><th scope="row" style="vertical-align:top"'p'
><td style="vertical-align:top"'\u0070'
<>td> Locale-specific java.text.DateFormatSymbols#getAmPmStrings morning or afternoon marker in lower case, e.g.""am
o "pm
". El uso del prefijo 'T'
de conversión obliga a esta salida a mayúsculas. (Tenga en cuenta que 'p'
genera una salida en minúsculas. Esto es diferente de GNU date
y POSIX strftime(3c)
que producen resultados de mayúsculas y minúsculas).
<tr><th scope="row" style="vertical-align:top"'z'
<>td style="vertical-align:top"<'\u007a'
>td>RFC 822 style time zone offset from GMT, p. ej. . -0800
Este valor se ajustará según sea necesario para el horario de verano. Para long
, Long
y Date
la zona horaria usada es la zona horaria predeterminada TimeZone#getDefault() para esta instancia de la máquina virtual Java.
<tr><th scope="row" style="vertical-align:top">'Z'
<td style="vertical-align:top"'\u005a'
><td> Cadena que representa la abreviatura de la zona horaria. Este valor se ajustará según sea necesario para el horario de verano. Para long
, Long
y Date
la zona horaria usada es la zona horaria predeterminada TimeZone#getDefault() para esta instancia de la máquina virtual Java. La configuración regional del formateador reemplazará la configuración regional del argumento (si existe).
<tr><th scope="row" style="vertical-align:top"<'s'
>td style="vertical-align:top"><'\u0073'
td> Seconds desde el principio de la época a partir del 1 de enero de 1970 00:00:00
UTC, es decirLong.MIN_VALUE/1000
, a .Long.MAX_VALUE/1000
<tr><th scope="row" style="vertical-align:top"<'Q'
>td style="vertical-align:top"><'\u004f'
td> Miliseconds desde el principio de la época a partir del 1 de enero de 1970 00:00:00
UTC, es decirLong.MIN_VALUE
, a .Long.MAX_VALUE
La precisión de este valor está limitada por la resolución del sistema operativo o hardware subyacente.
</tbody></table>
Los siguientes caracteres de conversión se usan para dar formato a las fechas:
<table class="striped"><caption style="display:none">date</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'B'
<td style="vertical-align:top">'\u0042'
<td> Locale-specific java.text.DateFormatSymbols#getMonths full month name, por ejemplo"January"
, , . "February"
<tr><th scope="row" style="vertical-align:top">'b'
<td style="vertical-align:top">'\u0062'
<td> Locale-specific java.text.DateFormatSymbols#getShortMonths abbreviated month name, e.g. "Jan"
, . "Feb"
<tr><th scope="row" style="vertical-align:top"'h'
><td style="vertical-align:top"'\u0068'
<>td> Same as .'b'
<tr><th scope="row" style="vertical-align:top">'A'
<td style="vertical-align:top"'\u0041'
<>td> Locale-specific full name of the java.text.DateFormatSymbols#getWeekdays day of the week, Por ejemplo"Sunday"
, , "Monday"
<tr><th scope="row" style="vertical-align:top"'a'
><td style="vertical-align:top"><'\u0061'
td> Locale-specific short name of the java.text.DateFormatSymbols#getShortWeekdays day of the week, por ejemplo"Sun"
, , tr><"Mon"
<th scope="row" style="vertical-align:top">'C'
<td style="vertical-align:top"<'\u0043'
>td> Four-digit year dividido por 100
, formateado como dos dígitos con cero inicial según sea necesario, Es decir, 00 - 99
<tr><th scope="row" style="vertical-align:top">'Y'
<td style="vertical-align:top">'\u0059'
<td> Year, formateado a al menos cuatro dígitos con ceros iniciales según sea necesario, por ejemplo0092
, es igual 92
a CE para el calendario gregoriano.
<tr><th scope="row" style="vertical-align:top"'y'
><td style="vertical-align:top"'\u0079'
<>td> Last two digits of the year, formateado con ceros iniciales según sea necesario, es decir00 - 99
, .
<tr><th scope="row" style="vertical-align:top"'j'
><td style="vertical-align:top"'\u006a'
<>td> Day of year, formateado como tres dígitos con ceros iniciales según sea necesario, por ejemplo001 - 366
, para el calendario gregoriano. 001
corresponde al primer día del año.
<tr><th scope="row" style="vertical-align:top"<'m'
>td style="vertical-align:top"><'\u006d'
td> Month, formateado como dos dígitos con ceros iniciales según sea necesario, es decir01 - 13
, , donde "01
" es el primer mes del año y ("13
" es un valor especial necesario para admitir calendarios lunares).
<tr><th scope="row" style="vertical-align:top">'d'
<td style="vertical-align:top">'\u0064'
<td> Day of month, formateado como dos dígitos con ceros iniciales según sea necesario, es decir 01 - 31
, , donde "01
" es el primer día del mes.
<tr><th scope="row" style="vertical-align:top">'e'
<td style="vertical-align:top">'\u0065'
<td> Day of month, formateado como dos dígitos, es decir 1 - 31
, donde "1
" es el primer día del mes.
</tbody></table>
Los siguientes caracteres de conversión se usan para dar formato a composiciones comunes de fecha y hora.
<table class="striped"><caption style="display:none">composites</caption><tbody>
<tr><th scope="row" style="vertical-align:top"><'R'
td style="vertical-align:top"><'\u0052'
td> Time formatted for the 24-hour clock as tr><th scope="row" style="vertical-align:top"<>'T'
td style="vertical-align:top"'\u0054'
<>td> Time formatted for the 24-hour clock as ."%tH:%tM"
<"%tH:%tM:%tS"
<tr><th scope="row" style="vertical-align:top"'r'
><td style="vertical-align:top"'\u0072'
<>td> Time formatted for the 12-hour clock as ."%tI:%tM:%tS %Tp"
La ubicación del marcador de la mañana o de la tarde ('%Tp'
) puede ser dependiente de la configuración regional.
<tr><th scope="row" style="vertical-align:top"'D'
><td style="vertical-align:top"'\u0044'
<>td> Date formatted as ."%tm/%td/%ty"
<tr><th scope="row" style="vertical-align:top"'F'
<>td style="vertical-align:top"<'\u0046'
>td>ISO 8601 complete date formatted as ."%tY-%tm-%td"
<tr><th scope="row" style="vertical-align:top">'c'
<td style="vertical-align:top">'\u0063'
<td> Fecha y hora con "%ta %tb %td %tT %tZ %tY"
el formato , por ejemplo "Sun Jul 20 16:17:00 EDT 1969"
, .
</tbody></table>
Se aplica la '-'
marca definida para conversiones generales. Si se especifica la '#'
marca, se producirá una FormatFlagsConversionMismatchException
excepción .
El ancho es el número mínimo de caracteres que se van a escribir en la salida. Si la longitud del valor convertido es menor que la width
salida se rellenará por espacios ('\u0020'
) hasta que el número total de caracteres sea igual al ancho. El relleno está a la izquierda de forma predeterminada. Si se asigna la '-'
marca, el relleno estará a la derecha. Si no se especifica el ancho, no hay ningún mínimo.
La precisión no es aplicable. Si se especifica la precisión, se producirá una IllegalFormatPrecisionException
excepción .
<h4>"dper">Percent</h4>
La conversión no se corresponde con ningún argumento.
<table class="striped"><caption style="display:none">DTConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top"'%'
<>td> El resultado es un literal '%'
()'\u0025'
El ancho es el número mínimo de caracteres que se van a escribir en la salida, incluido .'%'
Si la longitud del valor convertido es menor que la width
salida se rellenará por espacios ('\u0020'
) hasta que el número total de caracteres sea igual al ancho. El relleno está a la izquierda. Si no se especifica el ancho, solo '%'
la salida es .
Se aplica la '-'
marca definida para conversiones generales. Si se proporcionan otras marcas, se producirá una FormatFlagsConversionMismatchException
excepción .
La precisión no es aplicable. Si se especifica la precisión, se producirá una IllegalFormatPrecisionException
excepción .
</tbody></table>
<h4>"dls">Separador< de línea/h4>
La conversión no se corresponde con ningún argumento.
<table class="striped"><caption style="display:none">DTConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top"><'n'
td> the platform-specific line separator as returned by .System#lineSeparator()
</tbody></table>
Las marcas, el ancho y la precisión no son aplicables. Si se proporciona una IllegalFormatFlagsException
excepción , IllegalFormatWidthException
y IllegalFormatPrecisionException
, respectivamente se producirá.
<h4>"dpos">Argument Index</h4>
Los especificadores de formato pueden hacer referencia a argumentos de tres maneras:
<ul>
<La indexación li>Explicit se usa cuando el especificador de formato contiene un índice de argumentos. El índice del argumento es un entero decimal que indica la posición del argumento en la lista de argumentos. Se hace referencia al primer argumento por "1$
", el segundo por "2$
", etc. Se puede hacer referencia a un argumento más de una vez.
Por ejemplo:
<blockquote>
formatter.format("%4$s %3$s %2$s %1$s %4$s %3$s %2$s %1$s",
"a", "b", "c", "d")
// -> "d c b a d c b a"
</blockquote>
<La indexación relativa li>se usa cuando el especificador de formato contiene una '<'
marca ('\u003c'
) que hace que el argumento del especificador de formato anterior se vuelva a usar. Si no hay ningún argumento anterior, se produce una MissingFormatArgumentException
excepción .
<blockquote>
formatter.format("%s %s %<s %<s", "a", "b", "c", "d")
// -> "a b b b"
// "c" and "d" are ignored because they are not referenced
</blockquote>
<La indexación normal>se usa cuando el especificador de formato no contiene ni un índice de argumento ni una '<'
marca. A cada especificador de formato que usa la indexación normal se le asigna un índice implícito secuencial en la lista de argumentos, que es independiente de los índices utilizados por la indexación explícita o relativa.
<blockquote>
formatter.format("%s %s %s %s", "a", "b", "c", "d")
// -> "a b c d"
</blockquote>
</ul>
Es posible tener una cadena de formato que use todas las formas de indexación, por ejemplo:
<blockquote>
formatter.format("%2$s %s %<s %s", "a", "b", "c", "d")
// -> "b a a b"
// "c" and "d" are ignored because they are not referenced
</blockquote>
El número máximo de argumentos está limitado por la dimensión máxima de una matriz de Java tal y como se define mediante <la cita>Java™ Especificación</cita> de máquina virtual. Si el índice de argumentos no se corresponde con un argumento disponible, se produce una MissingFormatArgumentException
excepción .
Si hay más argumentos que especificadores de formato, se omiten los argumentos adicionales.
A menos que se especifique lo contrario, pasar un null
argumento a cualquier método o constructor de esta clase hará que se produzca una NullPointerException
excepción .
Agregado en 1.5.
Documentación de Java para java.util.Formatter
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
Formatter() |
Construye un nuevo formateador. |
Formatter(File) |
Construye un nuevo formateador con el archivo especificado. |
Formatter(File, Charset, Locale) |
Construye un nuevo formateador con el archivo, el conjunto de caracteres y la configuración regional especificados. |
Formatter(File, String) |
Construye un nuevo formateador con el archivo y el conjunto de caracteres especificados. |
Formatter(File, String, Locale) |
Construye un nuevo formateador con el archivo, el conjunto de caracteres y la configuración regional especificados. |
Formatter(IAppendable) |
Construye un nuevo formateador con el destino especificado. |
Formatter(IAppendable, Locale) |
Construye un nuevo formateador con el destino y la configuración regional especificados. |
Formatter(Locale) |
Construye un nuevo formateador con la configuración regional especificada. |
Formatter(PrintStream) |
Construye un nuevo formateador con el flujo de impresión especificado. |
Formatter(Stream) |
Construye un nuevo formateador con el flujo de salida especificado. |
Formatter(Stream, Charset, Locale) |
Construye un nuevo formateador con el flujo de salida, el conjunto de caracteres y la configuración regional especificados. |
Formatter(Stream, String) |
Construye un nuevo formateador con el flujo de salida y el conjunto de caracteres especificados. |
Formatter(Stream, String, Locale) |
Construye un nuevo formateador con el flujo de salida, el conjunto de caracteres y la configuración regional especificados. |
Formatter(String) |
Construye un nuevo formateador con el nombre de archivo especificado. |
Formatter(String, Charset, Locale) |
Construye un nuevo formateador con el nombre de archivo, el conjunto de caracteres y la configuración regional especificados. |
Formatter(String, String) |
Construye un nuevo formateador con el nombre de archivo y el conjunto de caracteres especificados. |
Formatter(String, String, Locale) |
Construye un nuevo formateador con el nombre de archivo, el conjunto de caracteres y la configuración regional especificados. |
Propiedades
Class |
Devuelve la clase en tiempo de ejecución de este |
Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
JniIdentityHashCode |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
JniPeerMembers |
Intérprete para cadenas de formato de estilo printf. |
PeerReference |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
Métodos
Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
Close() |
Cierra este formateador. |
Dispose() |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
Dispose(Boolean) |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
Flush() |
Vacía este formateador. |
Format(Locale, String, Object[]) |
Escribe una cadena con formato en el destino de este objeto mediante la cadena de formato y los argumentos especificados. |
Format(String, Object[]) |
Escribe una cadena con formato en el destino de este objeto mediante la cadena de formato y los argumentos especificados. |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
IoException() |
Devuelve el |
JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
Locale() |
Devuelve la configuración regional establecida por la construcción de este formateador. |
Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
Out() |
Devuelve el destino de la salida. |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
ToArray<T>() |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
IJavaPeerable.Finalized() |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
IJavaPeerable.JniManagedPeerState |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Intérprete para cadenas de formato de estilo printf. (Heredado de Object) |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
Intérprete para cadenas de formato de estilo printf. |
GetJniTypeName(IJavaPeerable) |
Intérprete para cadenas de formato de estilo printf. |
FlushAsync(IFlushable) |
Intérprete para cadenas de formato de estilo printf. |