Condividi tramite


Formatter Classe

Definizione

Interprete per stringhe di formato printf-style.

[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
Ereditarietà
Formatter
Attributi
Implementazioni

Commenti

Interprete per stringhe di formato printf-style. Questa classe fornisce supporto per la giustificazione e l'allineamento del layout, i formati comuni per i dati numerici, stringa e data/ora e l'output specifico delle impostazioni locali. I tipi Java comuni, bytead esempio , java.math.BigDecimal BigDecimale Calendar sono supportati. La personalizzazione della formattazione limitata per i tipi di utenti arbitrari viene fornita tramite l'interfaccia Formattable .

I formattatori non sono necessariamente sicuri per l'accesso multithreading. La sicurezza dei thread è facoltativa ed è responsabilità degli utenti di metodi in questa classe.

La stampa formattata per il linguaggio Java è fortemente ispirata a C.printf Anche se le stringhe di formato sono simili a C, alcune personalizzazioni sono state apportate per supportare il linguaggio Java e sfruttare alcune delle relative funzionalità. Inoltre, la formattazione Java è più rigorosa rispetto a C; ad esempio, se una conversione non è compatibile con un flag, verrà generata un'eccezione. Nei flag inapplicable C vengono ignorati in modo invisibile all'utente. Le stringhe di formato sono quindi destinate a essere riconoscibili per i programmatori C, ma non necessariamente completamente compatibili con quelle in C.

Esempi di utilizzo previsto:

<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")
              // -&gt; " 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);
              // -&gt; "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);
              // -&gt; "Amount gained or lost since last statement: $ (6,217.58)"

</Blockquote>

I metodi pratici per le richieste di formattazione comuni esistono come illustrato dalle chiamate seguenti:

<Blockquote>

// Writes a formatted string to System.out.
              System.out.format("Local time: %tT", Calendar.getInstance());
              // -&gt; "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());
              // -&gt; "Unable to open file 'food': No such file or directory"

</Blockquote>

Analogamente a C sprintf(3), le stringhe possono essere formattate usando il metodo String#format(String,Object...) String.formatstatico :

<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);
              // -&gt; s == "Duke's Birthday: May 23, 1995"

</Blockquote>

<h3"org">Organization</h3>>

Questa specifica è divisa in due sezioni. La prima sezione, Riepilogo, illustra i concetti di formattazione di base. Questa sezione è destinata agli utenti che vogliono iniziare rapidamente e hanno familiarità con la stampa formattata in altri linguaggi di programmazione. La seconda sezione Dettagli illustra i dettagli dell'implementazione specifici. È destinato agli utenti che vogliono una specifica più precisa del comportamento di formattazione.

<h3"summary">Summary</h3>>

Questa sezione è destinata a fornire una breve panoramica dei concetti di formattazione. Per informazioni dettagliate sul comportamento, vedere la sezione Dettagli.

<h4"sintassi">Format String Sintassi</h4>>

Ogni metodo che produce output formattato richiede una stringa di formato e un elenco di argomenti. La stringa di formato è un String oggetto che può contenere testo fisso e uno o più identificatori di formato incorporati. Si consideri l'esempio seguente:

<Blockquote>

Calendar c = ...;
              String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);

</Blockquote>

Questa stringa di formato è il primo argomento del format metodo. Contiene tre identificatori di formato "", "%1$tm" e "%1$te%1$tY" che indicano come gli argomenti devono essere elaborati e dove devono essere inseriti nel testo. Le parti rimanenti della stringa di formato sono testo fisso, inclusi "Dukes Birthday: " e qualsiasi altro spazio o punteggiatura.

L'elenco di argomenti è costituito da tutti gli argomenti passati al metodo dopo la stringa di formato. Nell'esempio precedente l'elenco degli argomenti è di dimensioni uno e è costituito dall'oggetto java.util.Calendar Calendarc.

<ul>

<li> Gli identificatori di formato per tipi generali, caratteri e numerici hanno la sintassi seguente:

<Blockquote>

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

</Blockquote>

Il argument_index facoltativo è un intero decimale che indica la posizione dell'argomento nell'elenco degli argomenti. Il primo argomento viene fatto riferimento a "", il secondo da "1$2$", ecc.

I flag facoltativi sono un set di caratteri che modificano il formato di output. Il set di flag validi dipende dalla conversione.

La larghezza facoltativa è un intero decimale positivo che indica il numero minimo di caratteri da scrivere nell'output.

La precisione facoltativa è un intero decimale non negativo usato in genere per limitare il numero di caratteri. Il comportamento specifico dipende dalla conversione.

La conversione necessaria è un carattere che indica come deve essere formattato l'argomento. Il set di conversioni valide per un determinato argomento dipende dal tipo di dati dell'argomento.

<li> Gli identificatori di formato per i tipi usati per rappresentare date e orari hanno la sintassi seguente:

<Blockquote>

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

</Blockquote>

Le argument_index facoltative, i flag e la larghezza sono definiti in precedenza.

La conversione richiesta è una sequenza di due caratteri. Il primo carattere è 't' o 'T'. Il secondo carattere indica il formato da utilizzare. Questi caratteri sono simili ma non completamente identici a quelli definiti da GNU date e POSIX strftime(3c).

<li> Gli identificatori di formato che non corrispondono agli argomenti hanno la sintassi seguente:

<Blockquote>

%[flags][width]conversion

</Blockquote>

I flag e la larghezzafacoltativi sono definiti in precedenza.

La conversione richiesta è un carattere che indica il contenuto da inserire nell'output.

</ul>

<Conversioni <h4> /h4>

Le conversioni sono suddivise nelle categorie seguenti:

<Ol>

<li><b>General</b> - può essere applicato a qualsiasi tipo di argomento

<li>b Character/b> : può essere applicato ai tipi di base che rappresentano caratteri Unicode: char, Character, Bytebyte, short, e Short.<>< Questa conversione può essere applicata anche ai tipi e quando restituisce true<li><b>Numeric</b Character#isValidCodePointIntegerint>

<Ol>

<li><b>Integral</b> : può essere applicato ai tipi integrali Java: byte, Byte, short, intShorte Integer, longLonge java.math.BigInteger BigInteger (ma non char o Character)

<li><b>a virgola mobile</b> : può essere applicato ai tipi a virgola mobile Java: float, Float, double, Doublee java.math.BigDecimal BigDecimal</ol>

<li><b>Date/Time</b> - può essere applicato ai tipi Java in grado di codificare una data o un'ora: long, LongCalendar, Date e TemporalAccessor TemporalAccessor<li<>b>Percent</b> - produce un valore letterale '%' ('&#92;u0025')

<li><b>Line Separator</b> : produce il separatore di riga specifico della piattaforma

</Ol>

Per la conversione generale, carattere, numerico, integrale e data/ora, se non diversamente specificato, se l'argomento arg è null, il risultato è "". null

La tabella seguente riepiloga le conversioni supportate. Le conversioni indicate da un carattere maiuscolo (ad esempio 'B', , 'C''H''S', 'X''G''A''E'e 'T') sono uguali a quelle per i caratteri di conversione minuscoli corrispondenti, ad eccezione del fatto che il risultato viene convertito in lettere maiuscole in base alle regole dell'oggetto prevalente.java.util.Locale Locale Se non sono specificate impostazioni locali esplicite, in fase di costruzione dell'istanza o come parametro per la chiamata al metodo, viene usato .java.util.Locale.Category#FORMAT default locale

<table class="striped"><didascalia style="display:none">genConv</didascalia>< 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> Se l'argomento arg è null, il risultato è "false". Se arg è o booleanBoolean, il risultato è la stringa restituita da String#valueOf(boolean) String.valueOf(arg). In caso contrario, il risultato è "true".

<tr><th scope="row" style="vertical-align:top"'h'>,<'H' td style="vertical-align:top"> general <td> Il risultato viene ottenuto richiamando Integer.toHexString(arg.hashCode()).

<tr><th scope="row" style="vertical-align:top">'s',<'S' td style="vertical-align:top"> general <td> Se arg implementa Formattable, viene Formattable#formatTo arg.formatTo richiamato. In caso contrario, il risultato viene ottenuto richiamando arg.toString().

<tr><th scope="row" style="vertical-align:top">'c', 'C'<td style="vertical-align:top"> character <td> Il risultato è un carattere Unicode

<tr><th scope="row" style="vertical-align:top"><'d'td style="vertical-align:top"> integrale <td> Il risultato viene formattato come intero decimale

<tr><th scope="row" style="vertical-align:top"><'o'td style="vertical-align:top"> integrale <td> Il risultato viene formattato come intero ottale

<tr><th scope="row" style="vertical-align:top">'x', 'X'<td style="vertical-align:top"> integrale <td> Il risultato viene formattato come intero esadecimale

<tr><th scope="row" style="vertical-align:top">'e',<'E' td style="vertical-align:top"><td> Il risultato viene formattato come numero decimale nella notazione scientifica computerizzata

<tr><th scope="row" style="vertical-align:top"><'f'td style="vertical-align:top"> a virgola <mobile td> Il risultato viene formattato come numero decimale

<tr><th scope="row" style="vertical-align:top">'g', 'G'<td style="vertical-align:top"> a virgola mobile <td> Il risultato viene formattato utilizzando la notazione scientifica o il formato decimale computerizzato, a seconda della precisione e del valore dopo l'arrotondamento.

<tr><th scope="row" style="vertical-align:top">'a', 'A'<td style="vertical-align:top"> td> Il risultato viene formattato come numero a virgola mobile <esadecimale con un significando e un esponente. Questa conversione è <b>not</b> supportata per il BigDecimal tipo nonostante sia presente nella categoria di argomenti a virgola mobile .

<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.tr th scope="row" style="vertical-align:top"> date/time td> Prefix for date and time <conversion characters. Vedere Conversioni di data/ora.

<tr><th scope="row" style="vertical-align:top"'%'><td style="vertical-align:top"> percent <td> Il risultato è un valore letterale '%' ()'&#92;u0025'

<tr><th scope="row" style="vertical-align:top"><'n'td style="vertical-align:top"> line separator <td> Il risultato è il separatore di riga specifico della piattaforma

</tbody></table>

Tutti i caratteri non definiti in modo esplicito come conversioni non sono validi e sono riservati per le estensioni future.

<h4>"dt">Conversioni< di data/ora/h4>

Per le conversioni e 'T' per le conversioni vengono definiti i 't' caratteri di suffisso di conversione di data e ora seguenti. I tipi sono simili ma non completamente identici a quelli definiti da GNU date e POSIX strftime(3c). Sono disponibili tipi di conversione aggiuntivi per accedere alle funzionalità specifiche di Java, ad esempio 'L' per millisecondi entro il secondo.

Per la formattazione vengono usati i caratteri di conversione seguenti:

<table class="striped">didascalia style="display:none">time</didascalia<> tbody<>tr><th scope="row" style="vertical-align:top">'H'<td> Hour of the day per l'orologio di 24 ore, formattato come due cifre con zero iniziale in base alle esigenze, 00 - 23ad esempio .<

<tr><th scope="row" style="vertical-align:top"><'I'td> Hour per l'orologio di 12 ore, formattato come due cifre con zero iniziale in base alle esigenze, ad esempio . 01 - 12

<tr><th scope="row" style="vertical-align:top"><'k'td> Hour of the day for the 24-hour clock, ad esempio . 0 - 23

<tr><th scope="row" style="vertical-align:top"><'l'td> Hour per l'orologio di 12 ore, ad esempio . 1 - 12

<tr><th scope="row" style="vertical-align:top"><'M'td> Minute entro l'ora formattata come due cifre con zero iniziale in base alle esigenze, ad esempio . 00 - 59

<tr><th scope="row" style="vertical-align:top"'S'<>td> Seconds entro il minuto, formattato come due cifre con zero iniziale in base alle esigenze, ovvero 00 - 60 ("60" è un valore speciale necessario per supportare i secondi intercalari).

<tr><th scope="row" style="vertical-align:top"><'L'td> Millisecond all'interno del secondo formattato come tre cifre con zeri iniziali in base alle esigenze, ad esempio . 000 - 999

<tr><th scope="row" style="vertical-align:top"><'N'td> Nanosecond entro il secondo, formattato come nove cifre con zeri iniziali in base alle esigenze, ad esempio . 000000000 - 999999999

<tr><th scope="row" style="vertical-align:top"><'p'td> Locale-specific java.text.DateFormatSymbols#getAmPmStrings morning or afternoon marker in minuscolo, ad esempio.""am o "pm". L'uso del prefisso 'T' di conversione forza l'output in lettere maiuscole.

<tr><th scope="row" style="vertical-align:top"'z'><td> RFC 822 style numeric time offset from GMT, ad esempio . -0800 Questo valore verrà modificato in base alle esigenze per l'ora legale. Per long, Longe Date il fuso orario usato è il fuso orario predefinito TimeZone#getDefault() per questa istanza della macchina virtuale Java.

<tr><th scope="row" style="vertical-align:top"<>'Z'td> Stringa che rappresenta l'abbreviazione per il fuso orario. Questo valore verrà modificato in base alle esigenze per l'ora legale. Per long, Longe Date il fuso orario usato è il fuso orario predefinito TimeZone#getDefault() per questa istanza della macchina virtuale Java. Le impostazioni locali del formattatore sostituiscono le impostazioni locali dell'argomento (se presenti).

<tr><th scope="row" style="vertical-align:top"><'s'td> Seconds dall'inizio dell'epoca a partire dal 1° gennaio 1970 00:00:00 UTC, ovvero Long.MIN_VALUE/1000 a .Long.MAX_VALUE/1000

<tr><th scope="row" style="vertical-align:top"><'Q'td> Milliseconds dall'inizio dell'epoca a partire dal 1° gennaio 1970 00:00:00 UTC, ovvero Long.MIN_VALUE a .Long.MAX_VALUE

</tbody></table>

Per la formattazione delle date vengono usati i caratteri di conversione seguenti:

<table class="striped"><didascalia style="display:none">date</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"'B'<>td> Locale-specific java.text.DateFormatSymbols#getMonths full month name, ad esempio "January", . "February"

<tr><th scope="row" style="vertical-align:top"'b'<>td> Locale-specific java.text.DateFormatSymbols#getShortMonths abbreviato month name, ad esempio "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, ad esempio"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, ad esempio "Sun", "Mon"<tr><th scope="row" style="vertical-align:top"'C'<>td> Four-digit year diviso per 100, formattato come due cifre con zero iniziale in base alle esigenze, ad esempio 00 - 99tr th scope="row" style="vertical-align:top"'Y'<>td> Year, formattato come almeno quattro cifre con zeri iniziali in base alle esigenze, ad esempio 0092 è uguale a 92 CE per il calendario gregoriano.><<

<tr><th scope="row" style="vertical-align:top"><'y'td> Ultime due cifre dell'anno, formattate con zeri iniziali in base alle esigenze, ad esempio . 00 - 99

<tr><th scope="row" style="vertical-align:top"><'j'td> Day of year, formattato come tre cifre con zeri iniziali in base alle esigenze, ad esempio 001 - 366 per il calendario gregoriano.

<tr><th scope="row" style="vertical-align:top"><'m'td> Month, formattato come due cifre con zeri iniziali in base alle esigenze, ad esempio . 01 - 13

<tr><th scope="row" style="vertical-align:top"'d'<>td> Day of month, formattato come due cifre con zeri iniziali in base alle esigenze, ad esempio 01 - 31<tr><th scope="row" style="vertical-align:top"'e'<>td> Day of month, formattato come due cifre, ad esempio . 1 - 31

</tbody></table>

I caratteri di conversione seguenti vengono usati per formattare le composizioni di data/ora comuni.

<table class="striped"><didascalia style="display:none">composites</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"td> Time formattato per l'orologio di 24 ore come<"%tH:%tM" tr><th scope="row" style="vertical-align:top"<'R'>'T'<>td> Time formattato per l'orologio di 24 ore come ."%tH:%tM:%tS"

<tr><th scope="row" style="vertical-align:top"><'r'td> Time formattato per l'orologio di 12 ore come ."%tI:%tM:%tS %Tp" La posizione del marcatore del mattino o del pomeriggio ('%Tp') può dipendere dalle impostazioni locali.

<tr><th scope="row" style="vertical-align:top"><'D'td> Date formattato come ."%tm/%td/%ty"

<tr><th scope="row" style="vertical-align:top"'F'><td> ISO 8601 data di completamento formattata come ."%tY-%tm-%td"

<tr><th scope="row" style="vertical-align:top"'c'<>td> Data e ora formattata come "%ta %tb %td %tT %tZ %tY", ad esempio . "Sun Jul 20 16:17:00 EDT 1969"

</tbody></table>

I caratteri non definiti in modo esplicito come suffissi di conversione di data/ora non sono validi e sono riservati per le estensioni future.

<h4> Flags </h4>

La tabella seguente riepiloga i flag supportati. y indica che il flag è supportato per i tipi di argomento indicati.

<table class="striped"><didascalia style="display:none">genConv</didascalia<> 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> Il risultato sarà giustificato a sinistra.

<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> Il risultato deve usare un modulo alternativo dipendente dalla conversione

<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> Il risultato includerà sempre un segno

<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> Il risultato include uno spazio iniziale per i valori positivi

<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> Il risultato sarà a riempimento zero

<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> Il risultato includerà 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> Il risultato racchiude i numeri negativi tra parentesi

</tbody></table>

<sup>1/sup> Dipende dalla definizione di Formattable<.

<sup>2</sup> Solo per 'd' la conversione.

<sup>3</sup> solo per 'o'le conversioni , 'x'e 'X' .

<sup>4</sup> Per 'd'le conversioni , 'o', 'x'e 'X' applicate a o 'd' applicate a java.math.BigInteger BigIntegerbyte, Byte, Shortshort, int e Integer, longe Long.

<sup>5</sup> solo per 'e'le conversioni , 'E', 'f', 'g'e 'G' .

Tutti i caratteri non definiti in modo esplicito come flag non sono validi e sono riservati per le estensioni future.

<Larghezza <h4> /h4>

La larghezza è il numero minimo di caratteri da scrivere nell'output. Per la conversione del separatore di riga, la larghezza non è applicabile; se viene specificato, verrà generata un'eccezione.

<h4> Precision </h4>

Per i tipi di argomenti generali, la precisione è il numero massimo di caratteri da scrivere nell'output.

Per le conversioni 'a'a virgola mobile , , 'A''e', 'E'e 'f' la precisione è il numero di cifre dopo il punto radix. Se la conversione è 'g' o 'G', la precisione è il numero totale di cifre nella grandezza risultante dopo l'arrotondamento.

Per i tipi di argomenti carattere, integrale e data/ora e per le conversioni di separatori di percentuale e riga, la precisione non è applicabile; se viene specificata una precisione, verrà generata un'eccezione.

<h4> Argument Index </h4>

L'indice dell'argomento è un numero intero decimale che indica la posizione dell'argomento nell'elenco di argomenti. Il primo argomento viene fatto riferimento da "1$", dal secondo da "2$" e così via.

Un altro modo per fare riferimento agli argomenti in base alla posizione consiste nell'usare il '<' flag ('&#92;u003c'), che fa sì che l'argomento per l'identificatore di formato precedente venga riutilizzato. Ad esempio, le due istruzioni seguenti producono stringhe identiche:

<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 %&lt;te,%&lt;tY", c);

</Blockquote>

<hr><h3>"detail">Details</h3>

Questa sezione descrive i dettagli comportamentali per la formattazione, incluse le condizioni e le eccezioni, i tipi di dati supportati, la localizzazione e le interazioni tra flag, conversioni e tipi di dati. Per una panoramica dei concetti di formattazione, vedere Riepilogo

Tutti i caratteri non definiti in modo esplicito come conversioni, suffissi di conversione di data/ora o flag non sono validi e sono riservati per le estensioni future. L'uso di tale carattere in una stringa di formato causerà la generazione di un oggetto UnknownFormatConversionException o UnknownFormatFlagsException .

Se l'identificatore di formato contiene una larghezza o una precisione con un valore non valido o che in caso contrario non è supportato, verrà generata una IllegalFormatWidthException o IllegalFormatPrecisionException rispettivamente .

Se un identificatore di formato contiene un carattere di conversione non applicabile all'argomento corrispondente, verrà generata un'eccezione IllegalFormatConversionException .

Tutte le eccezioni specificate possono essere generate da qualsiasi format metodo di Formatter e da qualsiasi format metodo pratico, String#format(String,Object...) String.format ad esempio e java.io.PrintStream#printf(String,Object...) PrintStream.printf.

Per la conversione generale, carattere, numerico, integrale e data/ora, se non diversamente specificato, se l'argomento arg è null, il risultato è "". null

Le conversioni indicate da un carattere maiuscolo (ad esempio 'B', , 'C''H''S', 'X''G''A''E'e 'T') sono uguali a quelle per i caratteri di conversione minuscoli corrispondenti, ad eccezione del fatto che il risultato viene convertito in lettere maiuscole in base alle regole dell'oggetto prevalente.java.util.Locale Locale Se non sono specificate impostazioni locali esplicite, in fase di costruzione dell'istanza o come parametro per la chiamata al metodo, viene usato .java.util.Locale.Category#FORMAT default locale

<h4>"dgen">General</h4>

Le conversioni generali seguenti possono essere applicate a qualsiasi tipo di argomento:

<table class="striped"><didascalia style="display:none">dgConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"<'b'>td style="vertical-align:top"'&#92;u0062'><td> Produce "true" o "false" come restituito da .Boolean#toString(boolean)

Se l'argomento è null, il risultato è "false". Se l'argomento è o booleanBoolean, il risultato è la stringa restituita da String#valueOf(boolean) String.valueOf(). In caso contrario, il risultato è "true".

Se viene specificato il '#' flag , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top"'B'><td style="vertical-align:top"'&#92;u0042'<>td> La variante maiuscola di .'b'

<tr><th scope="row" style="vertical-align:top">'h'<td style="vertical-align:top"'&#92;u0068'><td> Produce una stringa che rappresenta il valore del codice hash dell'oggetto.

Il risultato viene ottenuto richiamando Integer.toHexString(arg.hashCode()).

Se viene specificato il '#' flag , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top"'H'><td style="vertical-align:top"'&#92;u0048'<>td> La variante maiuscola di .'h'

<tr><th scope="row" style="vertical-align:top">'s'<td style="vertical-align:top"'&#92;u0073'><td> Produce una stringa.

Se l'argomento implementa Formattable, viene richiamato il relativo Formattable#formatTo formatTo metodo. In caso contrario, il risultato viene ottenuto richiamando il metodo dell'argomento toString() .

Se il '#' flag viene specificato e l'argomento non è un Formattable oggetto , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top"'S'><td style="vertical-align:top"'&#92;u0053'<>td> La variante maiuscola di .'s'

</tbody></table>

I flag "dFlags"> seguenti si applicano alle conversioni generali:

<table class="striped"><didascalia style="display:none">dFlags</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top">'-'<td style="vertical-align:top"'&#92;u002d'><td> Left giustifica l'output. Gli spazi ('&#92;u0020') verranno aggiunti alla fine del valore convertito in base alle esigenze per riempire la larghezza minima del campo. Se la larghezza non viene specificata, verrà generata un'eccezione MissingFormatWidthException . Se questo flag non viene specificato, l'output sarà giustificato a destra.

<tr><th scope="row" style="vertical-align:top">'#'<td style="vertical-align:top"'&#92;u0023'><td> Richiede che l'output usi un modulo alternativo. La definizione del modulo viene specificata dalla conversione.

</tbody></table>

La larghezza "genWidth"> è il numero minimo di caratteri da scrivere nell'output. Se la lunghezza del valore convertito è minore della larghezza, l'output verrà riempito da '&nbsp;&nbsp;' ('&#92;u0020') fino a quando il numero totale di caratteri è uguale alla larghezza. La spaziatura interna è a sinistra per impostazione predefinita. Se viene specificato il '-' flag, la spaziatura interna sarà a destra. Se la larghezza non viene specificata, non è previsto alcun valore minimo.

La precisione è il numero massimo di caratteri da scrivere nell'output. La precisione viene applicata prima della larghezza, quindi l'output verrà troncato ai precision caratteri anche se la larghezza è maggiore della precisione. Se la precisione non viene specificata, non esiste alcun limite esplicito per il numero di caratteri.

<h4>"dchar">Character</h4>

Questa conversione può essere applicata a char e Character. Può anche essere applicato ai tipi byte, , Byteshorte intShorte Integer quando Character#isValidCodePoint restituisce true. Se restituisce false , verrà generata un'eccezione IllegalFormatCodePointException .

<table class="striped"><didascalia style="display:none">charConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top">'c'<td style="vertical-align:top"'&#92;u0063'><td> Formatta l'argomento come carattere Unicode come descritto in Rappresentazione di caratteri Unicode. Può trattarsi di più di un 16 bit char nel caso in cui l'argomento rappresenta un carattere supplementare.

Se viene specificato il '#' flag , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top"'C'><td style="vertical-align:top"'&#92;u0043'<>td> La variante maiuscola di .'c'

</tbody></table>

Si applica il '-' flag definito per le conversioni Generali. Se viene specificato il '#' flag , verrà generata un'eccezione FormatFlagsConversionMismatchException .

La larghezza è definita come per le conversioni Generali.

La precisione non è applicabile. Se viene specificata la precisione, verrà generata un'eccezione IllegalFormatPrecisionException .

<h4>"dnum">Numeric</h4>

Le conversioni numeriche sono suddivise nelle categorie seguenti:

<Ol>

<li><b>Byte, Short, Integer e Long</b><li><b>BigInteger</b li><b><>Float e Double</b><li><b>BigDecimal</b/ol><>

I tipi numerici verranno formattati in base all'algoritmo seguente:

<b>"L10nAlgorithm"> Algoritmo di localizzazione< numeri/b>

Dopo aver ottenuto le cifre per la parte integer, la parte frazionaria e l'esponente (come appropriato per il tipo di dati), viene applicata la trasformazione seguente:

<Ol>

<li> Ogni carattere di cifra d nella stringa viene sostituito da una cifra specifica delle impostazioni locali calcolata rispetto al valore java.text.DecimalFormatSymbols#getZeroDigit() zero digitz, ovvero d - '0' +  z.

<li> Se è presente un separatore decimale, viene sostituito un separatore decimale java.text.DecimalFormatSymbols#getDecimalSeparator.

<li> Se viene specificato il ',' flag "'&#92;u002c'L10nGroup",> il separatore di raggruppamento java.text.DecimalFormatSymbols#getGroupingSeparator viene inserito analizzando la parte intera della stringa da cifre meno significative a cifre più significative e inserendo un separatore a intervalli definiti dalle dimensioni di raggruppamento java.text.DecimalFormat#getGroupingSize() delle impostazioni locali.

<li> Se viene specificato il '0' flag, le cifre java.text.DecimalFormatSymbols#getZeroDigit() sono inserite dopo il carattere di segno, se presenti, e prima della prima cifra diversa da zero, fino a quando la lunghezza della stringa è uguale alla larghezza del campo richiesto.

<li> Se il valore è negativo e viene assegnato il '(' flag, viene anteporto un '(' ('&#92;u0028') e viene aggiunto un ('&#92;u0029'')').

<li> Se il valore è negativo (o zero negativo a virgola mobile) e '(' il flag non viene specificato, viene anteporta una '-' ('&#92;u002d').

<li> Se il '+' flag viene assegnato e il valore è positivo o zero (o zero positivo a virgola mobile zero), verrà anteporre un valore '+' ('&#92;u002b').

</Ol>

Se il valore è NaN o infinito positivo, verranno restituite rispettivamente le stringhe letterali "NaN" o "Infinity". Se il valore è infinito negativo, l'output sarà "(Infinity)" se il '(' flag viene specificato altrimenti l'output sarà "-Infinity". Questi valori non sono localizzati.

"dnint"><b> Byte, Short, Integer e Long </b>

Le conversioni seguenti possono essere applicate a byte, Byte, short, Shortint e Integer, longe Long.

<table class="striped"><didascalia style="display:none">IntConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top">'d'<td style="vertical-align:top"'&#92;u0064'><td> Formatta l'argomento come intero decimale. Viene applicato l'algoritmo di localizzazione.

Se il '0' flag viene specificato e il valore è negativo, la spaziatura interna zero verrà eseguita dopo il segno.

Se viene specificato il '#' flag , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top">'o'<td style="vertical-align:top"'&#92;u006f'><td> Formatta l'argomento come integer in base otto. Non viene applicata alcuna localizzazione.

Se x è negativo, il risultato sarà un valore senza segno generato aggiungendo 2<sup>n</sup> al valore n dove è il numero di bit nel tipo restituito dal campo statico SIZE nelle classi Byte#SIZE Byte, Short#SIZE Short, Integer#SIZE Integer o Long#SIZE Long in base alle esigenze.

Se il '#' flag viene specificato, l'output inizierà sempre con l'indicatore '0'radix .

Se viene specificato il '0' flag, l'output verrà riempito con zeri iniziali alla larghezza del campo dopo qualsiasi indicazione del segno.

Se '(', ' '+'  ', o ',' vengono specificati flag, verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top">'x'<td style="vertical-align:top"'&#92;u0078'><td> Formatta l'argomento come intero in base sedici. Non viene applicata alcuna localizzazione.

Se x è negativo, il risultato sarà un valore senza segno generato aggiungendo 2<sup>n</sup> al valore n dove è il numero di bit nel tipo restituito dal campo statico SIZE nelle classi Byte#SIZE Byte, Short#SIZE Short, Integer#SIZE Integer o Long#SIZE Long in base alle esigenze.

Se il '#' flag viene specificato, l'output inizierà sempre con l'indicatore "0x"radix .

Se il '0' flag viene assegnato, l'output verrà riempito alla larghezza del campo con zeri iniziali dopo l'indicatore o il segno di radix (se presente).

Se '('vengono specificati flag , '&nbsp;&nbsp;''+', o ',' , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top"'X'><td style="vertical-align:top"'&#92;u0058'<>td> La variante maiuscola di .'x' L'intera stringa che rappresenta il numero verrà convertita in lettere maiuscole String#toUpperCase, incluse le 'x' cifre (se presenti) e tutte le cifre'f' - 'a' esadecimali ().'&#92;u0061' - '&#92;u0066'

</tbody></table>

Se la conversione è 'o', 'x'o 'X' e vengono specificati entrambi i '#' flag e '0' , il risultato conterrà l'indicatore radix ('0' per ottale e "0x" o "0X" per esadecimale), un numero di zeri (in base alla larghezza) e il valore.

Se il '-' flag non viene specificato, la spaziatura interna verrà eseguita prima del segno.

I flag "intFlags">seguenti si applicano alle conversioni integrali numeriche:

<table class="striped"><didascalia style="display:none">intFlags</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top">'+'<td style="vertical-align:top"'&#92;u002b'><td> Richiede che l'output includa un segno positivo per tutti i numeri positivi. Se questo flag non viene specificato, solo i valori negativi includeranno un segno.

Se vengono specificati entrambi i '+' flag e '&nbsp;&nbsp;' , verrà generata un'eccezione IllegalFormatFlagsException .

<tr><th scope="row" style="vertical-align:top"'&nbsp;&nbsp;'><td style="vertical-align:top"'&#92;u0020'<>td> Richiede che l'output includa un singolo spazio aggiuntivo ('&#92;u0020') per i valori non negativi.

Se vengono specificati entrambi i '+' flag e '&nbsp;&nbsp;' , verrà generata un'eccezione IllegalFormatFlagsException .

<tr><th scope="row" style="vertical-align:top">'0'<td style="vertical-align:top"'&#92;u0030'><td> Richiede che l'output venga riempito con java.text.DecimalFormatSymbols#getZeroDigit zeri nella larghezza minima del campo dopo qualsiasi indicatore di segno o radix, tranne quando si converte NaN o infinity. Se la larghezza non viene specificata, verrà generata un'eccezione MissingFormatWidthException .

Se vengono specificati entrambi i '-' flag e '0' , verrà generata un'eccezione IllegalFormatFlagsException .

<tr><th scope="row" style="vertical-align:top">','<td style="vertical-align:top"'&#92;u002c'><td> Richiede l'output per includere i separatori di gruppo java.text specifici delle impostazioni locali java.text.DecimalFormatSymbols#getGroupingSeparator come descritto nella sezione "group" dell'algoritmo di localizzazione.

<tr><th scope="row" style="vertical-align:top"'('<>td style="vertical-align:top"<'&#92;u0028'>td> Richiede che l'output prepend a '(' ('&#92;u0028') e accoda un ')' ('&#92;u0029') a valori negativi.

</tbody></table>

Se non viene assegnato alcun flag "intdFlags">, la formattazione predefinita è la seguente:

<ul>

<li> L'output è giustificato a destra all'interno dei<width numeri negativi li> iniziano con un '-' ('&#92;u002d')

<li> Numeri positivi e zero non includono un segno o uno spazio iniziale aggiuntivo

<li> Nessun separatore di raggruppamento sono inclusi

</ul>

La larghezza "intWidth"> è il numero minimo di caratteri da scrivere nell'output. Sono inclusi segni, cifre, separatori di raggruppamento, indicatore di radix e parentesi. Se la lunghezza del valore convertito è minore della larghezza, l'output verrà riempito in base agli spazi ('&#92;u0020') fino a quando il numero totale di caratteri è uguale a larghezza. La spaziatura interna è a sinistra per impostazione predefinita. Se '-' viene specificato il flag, la spaziatura interna sarà a destra. Se non viene specificata la larghezza, non è previsto alcun valore minimo.

La precisione non è applicabile. Se viene specificata la precisione, verrà generata un'eccezione IllegalFormatPrecisionException .

"dnbint"><b> BigInteger </b>

Le conversioni seguenti possono essere applicate a java.math.BigInteger.

<table class="striped"><didascalia style="display:none">bIntConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top">'d'<td style="vertical-align:top"'&#92;u0064'><td> Richiede che l'output venga formattato come intero decimale. Viene applicato l'algoritmo di localizzazione.

Se viene specificato FormatFlagsConversionMismatchException il '#' flag , verrà generato .

<tr><th scope="row" style="vertical-align:top">'o'<td style="vertical-align:top"'&#92;u006f'><td> Richiede che l'output venga formattato come intero in base otto. Non viene applicata alcuna localizzazione.

Se x è negativo, il risultato sarà un valore con segno che inizia con '-' ('&#92;u002d'). L'output firmato è consentito per questo tipo perché, a differenza dei tipi primitivi, non è possibile creare un equivalente senza segno senza presupporre una dimensione esplicita del tipo di dati.

Se x è positivo o zero e viene assegnato il '+' flag, il risultato inizierà con '+' ('&#92;u002b').

Se viene specificato il '#' flag, l'output inizierà sempre con '0' il prefisso .

Se viene specificato il '0' flag, l'output verrà riempito con zeri iniziali alla larghezza del campo dopo qualsiasi indicazione del segno.

Se viene specificato il ',' flag , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top">'x'<td style="vertical-align:top"'&#92;u0078'><td> Richiede che l'output venga formattato come intero in base sedici. Non viene applicata alcuna localizzazione.

Se x è negativo, il risultato sarà un valore con segno che inizia con '-' ('&#92;u002d'). L'output firmato è consentito per questo tipo perché, a differenza dei tipi primitivi, non è possibile creare un equivalente senza segno senza presupporre una dimensione esplicita del tipo di dati.

Se x è positivo o zero e viene assegnato il '+' flag, il risultato inizierà con '+' ('&#92;u002b').

Se il '#' flag viene specificato, l'output inizierà sempre con l'indicatore "0x"radix .

Se il '0' flag viene assegnato, l'output verrà riempito alla larghezza del campo con zeri iniziali dopo l'indicatore o il segno di radix (se presente).

Se viene specificato il ',' flag , verrà generata un'eccezione FormatFlagsConversionMismatchException .

<tr><th scope="row" style="vertical-align:top"'X'><td style="vertical-align:top"'&#92;u0058'<>td> La variante maiuscola di .'x' L'intera stringa che rappresenta il numero verrà convertita in lettere maiuscole String#toUpperCase, incluse le 'x' cifre (se presenti) e tutte le cifre'f' - 'a' esadecimali ().'&#92;u0061' - '&#92;u0066'

</tbody></table>

Se la conversione è 'o', 'x'o 'X' e i '#' flag e '0' sono specificati, il risultato conterrà l'indicatore di base ('0' per ottale e "0x" o "0X" per esadecimale), un numero di zeri (in base alla larghezza) e il valore.

Se il '0' flag viene specificato e il valore è negativo, la spaziatura interna zero verrà eseguita dopo il segno.

Se il '-' flag non viene specificato, la spaziatura interna verrà eseguita prima del segno.

Tutti i flag definiti per Byte, Short, Integer e Long si applicano. Il comportamento predefinito quando non viene assegnato alcun flag è uguale a per Byte, Short, Integer e Long.

La specifica della larghezza è la stessa definita per Byte, Short, Integer e Long.

La precisione non è applicabile. Se viene specificata la precisione, verrà generata un'eccezione IllegalFormatPrecisionException .

"dndec"><b> Float e Double</b>

Le conversioni seguenti possono essere applicate a float, Floatdouble e Double.

<table class="striped"><didascalia style="display:none">floatConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"'e'><td style="vertical-align:top"'&#92;u0065'<>td> Richiede che l'output venga formattato utilizzando la notazione scientifica "scientifica">computerizzata. Viene applicato l'algoritmo di localizzazione.

La formattazione della grandezza m dipende dal relativo valore.

Se m è NaN o infinito, le stringhe letterali "NaN" o "Infinity", rispettivamente, verranno restituite. Questi valori non sono localizzati.

Se m è positivo-zero o negativo-zero, l'esponente sarà "+00".

In caso contrario, il risultato è una stringa che rappresenta il segno e la grandezza (valore assoluto) dell'argomento. La formattazione del segno è descritta nell'algoritmo di localizzazione. La formattazione della grandezza m dipende dal relativo valore.

Lasciare che n sia l'intero univoco in modo che 10sup<> n/>sup <= m < 10<<sup>n+<1/>sup; quindi lasciare che sia il quotiente matematicamente esatto di m e 10<sup>< n/sup> in modo che 1 <= un < 10. La grandezza viene quindi rappresentata come parte intero di un oggetto, come singola cifra decimale, seguita dal separatore decimale seguito da cifre decimali che rappresentano la parte frazionaria di un oggetto, seguita dalle impostazioni locali minuscole specifiche java.text.DecimalFormatSymbols#getExponentSeparator esponente separatore (ad esempio 'e'), seguito dal segno dell'esponente, seguito da una rappresentazione di n come intero decimale, come prodotto dal metodo Long#toString(long, int)e con spaziatura zero per includere almeno due cifre.

Il numero di cifre nel risultato per la parte frazionaria di m o un valore è uguale alla precisione. Se la precisione non è specificata, il valore predefinito è 6. Se la precisione è minore del numero di cifre che verranno visualizzate dopo il punto decimale nella stringa restituita rispettivamente da o Double#toString(double) rispettivamente, il valore verrà arrotondato Float#toString(float) usando l'algoritmo java.math.RoundingMode#HALF_UP arrotondamento della metà. In caso contrario, gli zeri possono essere aggiunti per raggiungere la precisione. Per una rappresentazione canonica del valore, usare Float#toString(float) o Double#toString(double) in base alle esigenze.

Se viene specificato il ',' flag, verrà generato un FormatFlagsConversionMismatchException oggetto.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0045'><"'E'<>td> La variante maiuscola di .'e' Il simbolo dell'esponente sarà il separatore dell'esponente java.text.decimalFormatSymbols#getExponentSeparator esponente (ad esempio 'E').

<tr><th scope="row" style="vertical-align:top"td style=">'g'<vertical-align:top'&#92;u0067'><"td> Richiede che l'output venga formattato nella notazione scientifica generale, come descritto di seguito. Viene applicato l'algoritmo di localizzazione.

Dopo l'arrotondamento per la precisione, la formattazione della grandezza risultante m dipende dal relativo valore.

Se m è maggiore o uguale a 10 sup-4></>sup, ma minore di 10<<sup precisione</sup>>, viene rappresentato in formato decimale.

Se m è minore di 10 sup-4</sup>> o maggiore o uguale a 10<<sup>precisione</sup>, viene rappresentato nella notazione scientifica informatica.

Il numero totale di cifre significative in m è uguale alla precisione. Se la precisione non è specificata, il valore predefinito è 6. Se la precisione è 0, viene presa per essere 1.

Se viene specificato il '#' flag, verrà generato un FormatFlagsConversionMismatchException oggetto.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0047'><"'G'<>td> La variante maiuscola di .'g'

<tr><th scope="row" style="vertical-align:top">'f'<td style="vertical-align:top'&#92;u0066'<>"td> Richiede che l'output venga formattato usando il> formato decimale. Viene applicato l'algoritmo di localizzazione.

Il risultato è una stringa che rappresenta il segno e la grandezza (valore assoluto) dell'argomento. La formattazione del segno è descritta nell'algoritmo di localizzazione. La formattazione della grandezza m dipende dal relativo valore.

Se m NaN o infinito, le stringhe letterali "NaN" o "Infinity", rispettivamente, verranno restituite. Questi valori non vengono localizzati.

La grandezza viene formattata come parte intera di m, senza zero iniziali, seguita dal separatore decimale seguito da una o più cifre decimali che rappresentano la parte frazionaria di m.

Il numero di cifre nel risultato per la parte frazionaria di m o un valore è uguale alla precisione. Se la precisione non è specificata, il valore predefinito è 6. Se la precisione è minore del numero di cifre che verranno visualizzate dopo il punto decimale nella stringa restituita rispettivamente da o Double#toString(double) rispettivamente, il valore verrà arrotondato Float#toString(float) usando l'algoritmo java.math.RoundingMode#HALF_UP arrotondamento della metà. In caso contrario, gli zeri possono essere aggiunti per raggiungere la precisione. Per una rappresentazione canonica del valore, usare Float#toString(float) o Double#toString(double) in base alle esigenze.

<tr><th scope="row" style="vertical-align:top"td style=">'a'<vertical-align:top'&#92;u0061'><"td> Richiede che l'output venga formattato in forma esponenziale esadecimale. Non viene applicata alcuna localizzazione.

Il risultato è una stringa che rappresenta il segno e la grandezza (valore assoluto) dell'argomento x.

Se x è negativo o un valore negativo-zero, il risultato inizierà con '-' ('&#92;u002d').

Se x è positivo o un valore positivo-zero e il flag viene specificato, il '+' risultato inizierà con '+' ('&#92;u002b').

La formattazione della grandezza m dipende dal relativo valore.

<ul>

<li> Se il valore è NaN o infinito, le stringhe letterali "NaN" o "Infinity", rispettivamente, verranno restituite.

<li> Se m è zero, è rappresentato dalla stringa "0x0.0p0".

<li> Se m è un valore con una double rappresentazione normalizzata, le sottostringa vengono usate per rappresentare i campi significand e esponenti. Il significando è rappresentato dai caratteri "0x1." seguiti dalla rappresentazione esadecimale del resto del significando come frazione. L'esponente è rappresentato da ('&#92;u0070') seguito da 'p' una stringa decimale dell'esponente non imparziale come se prodotta richiamando Integer#toString(int) Integer.toString il valore dell'esponente. Se viene specificata la precisione, il valore viene arrotondato al numero specificato di cifre esadecimali.

<li> Se m è un double valore con una rappresentazione sottonormale, a meno che la precisione non sia specificata nell'intervallo compreso tra 1 e 12, inclusivo, il significando è rappresentato dai caratteri '0x0.' seguiti dalla rappresentazione esadecimale del resto del significando come frazione e l'esponente rappresentato da 'p-1022'. Se la precisione è nell'intervallo [1,  12], il valore sottonormale è normalizzato in modo che inizi con i caratteri '0x1.', arrotondato al numero di cifre esadecimali di precisione esadecimali e l'esponente ha modificato di conseguenza. Si noti che deve essere presente almeno una cifra non zero in un significando subnormal.

</ul>

Se vengono specificati i '(' flag o ',' , verrà generata una FormatFlagsConversionMismatchException classe.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0041'><"'A'<>td> La variante maiuscola di .'a' L'intera stringa che rappresenta il numero verrà convertita in maiuscolo, tra cui ('x') e ('&#92;u0078' e'&#92;u0070''p' tutte le cifre'f' - 'a' esadecimali ().'&#92;u0061' - '&#92;u0066'

</tbody></table>

Tutti i flag definiti per Byte, Short, Integer e Long si applicano.

Se viene specificato il '#' flag, il separatore decimale sarà sempre presente.

Se non vengono specificati flag "floatdFlags">, la formattazione predefinita è la seguente:

<ul>

<li> L'output è giustificato correttamente all'interno dei width><numeri negativi li iniziano con numeri positivi li e zero positivo non includono un '-'<> segno o uno spazio iniziale aggiuntivo

<Non> sono inclusi separatori di raggruppamento

<li> Il separatore decimale verrà visualizzato solo se segue una cifra

</ul>

La larghezza "floatDWidth"> è il numero minimo di caratteri da scrivere nell'output. Sono inclusi segni, cifre, separatori di raggruppamento, separatori decimali, simbolo esponenziale, indicatore radix, parentesi e stringhe che rappresentano infinito e NaN come applicabile. Se la lunghezza del valore convertito è minore della larghezza, l'output verrà riempito in base agli spazi ('&#92;u0020') fino al numero totale di caratteri uguale alla larghezza. Il riempimento è a sinistra per impostazione predefinita. Se il flag viene specificato, la '-' spaziatura interna sarà a destra. Se la larghezza non è specificata, non esiste alcun minimo.

Se la conversione "floatDPrec">è o 'E''f', la precisione è 'e'il numero di cifre dopo il separatore decimale. Se la precisione non è specificata, si presuppone che 6sia .

Se la conversione è o 'G', la precisione è 'g' il numero totale di cifre significative nella grandezza risultante dopo l'arrotondamento. Se la precisione non è specificata, il valore predefinito è 6. Se la precisione è 0, viene presa per essere 1.

Se la conversione è o 'A', la precisione è 'a' il numero di cifre esadecimali dopo il punto radix. Se la precisione non viene fornita, tutte le cifre restituite da Double#toHexString(double) verranno restituite.

"dnbdec"><b> BigDecimal </b>

È possibile applicare java.math.BigDecimal BigDecimalle conversioni seguenti.

<table class="striped"><didascalia style="display:none">floatConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"td style="'e'<>vertical-align:top'&#92;u0065'<>"td> Richiede che l'output venga formattato usando "bscientific">computerized scientific notation. Viene applicato l'algoritmo di localizzazione.

La formattazione della grandezza m dipende dal relativo valore.

Se m è positivo-zero o negativo-zero, l'esponente sarà "+00".

In caso contrario, il risultato è una stringa che rappresenta il segno e la grandezza (valore assoluto) dell'argomento. La formattazione del segno è descritta nell'algoritmo di localizzazione. La formattazione della grandezza m dipende dal relativo valore.

Lasciare che n sia l'intero univoco in modo che 10sup<> n/>sup <= m < 10<<sup>n+<1/>sup; quindi lasciare che sia il quotiente matematicamente esatto di m e 10<sup>< n/sup> in modo che 1 <= un < 10. La grandezza viene quindi rappresentata come parte intero di un, come singola cifra decimale, seguita dal separatore decimale seguito da cifre decimali che rappresentano la parte frazionaria di un, seguita dal simbolo 'e' esponente ('&#92;u0065'), seguito dal segno dell'esponente, seguito da una rappresentazione di n come intero decimale, come prodotto dal metodo Long#toString(long, int), e spaziatura zero per includere almeno due cifre.

Il numero di cifre nel risultato per la parte frazionaria di m o un valore è uguale alla precisione. Se la precisione non è specificata, il valore predefinito è 6. Se la precisione è minore del numero di cifre a destra del punto decimale, il valore verrà arrotondato usando java.math.RoundingMode#HALF_UP arrotondamento dell'algoritmo. In caso contrario, gli zeri possono essere aggiunti per raggiungere la precisione. Per una rappresentazione canonica del valore, usare BigDecimal#toString().

Se viene specificato il ',' flag, verrà generato un FormatFlagsConversionMismatchException oggetto.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0045'><"'E'<>td> La variante maiuscola di .'e' Il simbolo dell'esponente sarà 'E' ('&#92;u0045').

<tr><th scope="row" style="vertical-align:top"td style=">'g'<vertical-align:top'&#92;u0067'><"td> Richiede che l'output venga formattato nella notazione scientifica generale, come descritto di seguito. Viene applicato l'algoritmo di localizzazione.

Dopo l'arrotondamento per la precisione, la formattazione della grandezza risultante m dipende dal relativo valore.

Se m è maggiore o uguale a 10 sup-4></>sup, ma minore di 10<<sup precisione</sup>>, viene rappresentato in formato decimale.

Se m è minore di 10 sup-4</sup>> o maggiore o uguale a 10<<sup>precisione</sup>, viene rappresentato nella notazione scientifica informatica.

Il numero totale di cifre significative in m è uguale alla precisione. Se la precisione non è specificata, il valore predefinito è 6. Se la precisione è 0, viene presa per essere 1.

Se viene specificato il '#' flag, verrà generato un FormatFlagsConversionMismatchException oggetto.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0047'><"'G'<>td> La variante maiuscola di .'g'

<tr><th scope="row" style="vertical-align:top"td style="'f'<>vertical-align:top'&#92;u0066'<>"td> Richiede che l'output venga formattato usando il formato decimale "bdecimal".> Viene applicato l'algoritmo di localizzazione.

Il risultato è una stringa che rappresenta il segno e la grandezza (valore assoluto) dell'argomento. La formattazione del segno è descritta nell'algoritmo di localizzazione. La formattazione della grandezza m dipende dal relativo valore.

La grandezza viene formattata come parte intera di m, senza zero iniziali, seguita dal separatore decimale seguito da una o più cifre decimali che rappresentano la parte frazionaria di m.

Il numero di cifre nel risultato per la parte frazionaria di m o un valore è uguale alla precisione. Se la precisione non è specificata, il valore predefinito è 6. Se la precisione è minore del numero di cifre a destra del punto decimale, il valore verrà arrotondato usando java.math.RoundingMode#HALF_UP arrotondamento dell'algoritmo. In caso contrario, gli zeri possono essere aggiunti per raggiungere la precisione. Per una rappresentazione canonica del valore, usare BigDecimal#toString().

</tbody></table>

Tutti i flag definiti per Byte, Short, Integer e Long si applicano.

Se viene specificato il '#' flag, il separatore decimale sarà sempre presente.

Il comportamento predefinito quando non vengono specificati flag è uguale a Float e Double.

La specifica della larghezza e della precisione è uguale a quella definita per Float e Double.

<h4>"ddt">Date/Time</h4>

Questa conversione può essere applicata a long, Long, CalendarDate e TemporalAccessor TemporalAccessor<table class="striped"<>didascalia style="display:none>"DTConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0074'<>"'t'><td> Prefix per i caratteri di conversione data e ora. <tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0054'><"'T'<>td> La variante maiuscola di .'t'

</tbody></table>

I suffissi dei caratteri di conversione di data e ora seguenti sono definiti per le 't' conversioni e 'T' . I tipi sono simili a quelli definiti da GNU date e POSIX strftime(3c). Sono disponibili tipi di conversione aggiuntivi per accedere a funzionalità specifiche di Java, ad esempio 'L' per millisecondi entro il secondo.

I caratteri di conversione seguenti vengono usati per la formattazione dei tempi:

<table class="striped"><didascalia style="display:none">time</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"td style="'H'<>vertical-align:top<'&#92;u0048'>"td> Hour of the day for the 24-hour clock, formattato come due cifre con zero iniziale in base alle esigenze, ovvero 00 - 23. 00 corrisponde alla mezzanotte.

<tr><th scope="row" style="vertical-align:top"td style="'I'<>vertical-align:top'&#92;u0049'<>"td> Hour for the 12-hour clock, formattato come due cifre con zero iniziale in base alle esigenze, ad esempio . 01 - 12 01 corrisponde a un'ora (mattina o pomeriggio).

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top<>'&#92;u006b'">'k'<td> Hour of the day for the 24-hour clock, ad esempio 0 - 23. 0 corrisponde a mezzanotte.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top<>'&#92;u006c'">'l'<td> Hour for the 12-hour clock, ovvero 1 - 12. 1 corrisponde a un'ora (mattina o pomeriggio).

<tr><th scope="row" style="vertical-align:top"td style="'M'<>vertical-align:top'&#92;u004d'<>"td> Minute entro l'ora formattata come due cifre con zero iniziale, ad esempio . 00 - 59

<tr><th scope="row" style="vertical-align:top"td style="'S'<>vertical-align:top<'&#92;u0053'>"td> Seconds entro il minuto, formattato come due cifre con zero iniziale, ad esempio 00 - 60 ("60" è un valore speciale necessario per supportare secondi di salto).

<tr><th scope="row" style="vertical-align:top"td style="'L'<>vertical-align:top'&#92;u004c'<>"td> Millisecond entro il secondo formato come tre cifre con zero iniziali in base alle esigenze, ad esempio . 000 - 999

<tr><th scope="row" style="vertical-align:top"td style="'N'<>vertical-align:top'&#92;u004e'<>"td> Nanosecond entro il secondo, formattato come nove cifre con zero iniziali in base alle esigenze, ad esempio . 000000000 - 999999999 La precisione di questo valore è limitata dalla risoluzione del sistema operativo o dell'hardware sottostante.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0070'><"'p'<>td> Locale-specific java.text.DateFormatSymbols#getAmPmStrings mattina o pomeriggio in minuscolo, ad esempio.""am o "pm". L'uso del prefisso 'T' di conversione forza l'output in maiuscolo. Si noti che 'p' produce l'output in minuscolo. Questo è diverso da GNU date e POSIX strftime(3c) che producono output in maiuscolo.

<tr><th scope="row" style="vertical-align:top"td style="<'z'>vertical-align:top><'&#92;u007a'"td> RFC 822 style time zone offset from GMT, ad esempio . -0800 Questo valore verrà modificato in base alle esigenze per l'ora legale. Per long, Longe Date il fuso orario usato è il fuso orario predefinito TimeZone#getDefault() per questa istanza della macchina virtuale Java.

<tr><th scope="row" style="vertical-align:top"td style=">'Z'<vertical-align:top'&#92;u005a'><"td> Stringa che rappresenta l'abbreviazione per il fuso orario. Questo valore verrà modificato in base alle esigenze per l'ora legale. Per long, Longe Date il fuso orario usato è il fuso orario predefinito TimeZone#getDefault() per questa istanza della macchina virtuale Java. Le impostazioni locali del formattatore sostituiscono le impostazioni locali dell'argomento (se presente).

<tr><th scope="row" style="vertical-align:top"td style="'s'<>vertical-align:top'&#92;u0073'><"td> Seconds dall'inizio dell'epoca a partire dal 1° gennaio 1970 00:00:00 UTC, ad esempio Long.MIN_VALUE/1000 a .Long.MAX_VALUE/1000

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top<'&#92;u004f'>">'Q'<td> Milliseconds dall'inizio dell'epoca a partire dal 1° gennaio 1970 00:00:00 UTC, ad esempio Long.MIN_VALUE a .Long.MAX_VALUE La precisione di questo valore è limitata dalla risoluzione del sistema operativo o dell'hardware sottostante.

</tbody></table>

I caratteri di conversione seguenti vengono usati per la formattazione delle date:

<classe table="striped"><didascalia style="display:none">date</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"td style="'B'<>vertical-align:top<'&#92;u0042'>"td> Locale-specific java.text.DateFormatSymbols#getMonths nome mese completo, ad esempio "January", . "February"

<tr><th scope="row" style="vertical-align:top"td style="'b'<>vertical-align:top<'&#92;u0062'>"td> Locale-specific java.text.DateFormatSymbols#getShortMonths abbreviato month name, ad esempio "Jan", . "Feb"

<tr><th scope="row" style="vertical-align:top"td style="'h'<>vertical-align:top'&#92;u0068'<>"td> Same as .'b'

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top<'&#92;u0041'>"<>'A'td> Locale-specific name of the java.text.DateFormatSymbols#getWeekdays day of the week, ad esempio"Sunday", "Monday"<tr><th scope="row" style="vertical-align:top"'a'><td style="vertical-align:top"><'&#92;u0061'td Locale-specific name of the java.text.DateFormatSymbols#getShortWeekdays day della settimana, ad esempio , tr"td> Locale-specific name of the java.text.DateFormatSymbols#getShortWeekdays day della settimana, ad esempio "Sun", tr><"Mon"<th scope="row" style="vertical-align:top"td style="vertical-align:top'&#92;u0043'><"<'C'>td> Four-digit year diviso da 100, formattato come due cifre con zero iniziale in base alle esigenze, ad esempio 00 - 99<tr><th scope="row" style="vertical-align:top">'Y'<td style="vertical-align:top">'&#92;u0059'<td> Year, formattato in almeno quattro cifre con zero iniziali, ad esempio 0092 uguale 92 a CE per il calendario gregoriano.

<tr><th scope="row" style="vertical-align:top"td style="'y'<>vertical-align:top'&#92;u0079'<>"td> Ultime due cifre dell'anno, formattate con zero iniziali in base alle esigenze, ad esempio . 00 - 99

<tr><th scope="row" style="vertical-align:top"td style="'j'<>vertical-align:top'&#92;u006a'<>"td> Day of year, formattato come tre cifre con zero iniziali in base alle esigenze, ad esempio 001 - 366 per il calendario gregoriano. 001 corrisponde al primo giorno dell'anno.

<tr><th scope="row" style="vertical-align:top"td style="'m'><vertical-align:top<>'&#92;u006d'"td> Month, formattato come due cifre con zero iniziali, ad esempio 01 - 13, dove "01" è il primo mese dell'anno e ("13" è un valore speciale necessario per supportare i calendari lunari).

<tr><th scope="row" style="vertical-align:top"td style="'d'<>vertical-align:top<'&#92;u0064'>"td> Day of month, formattato come due cifre con zero iniziali, ad esempio 01 - 31, dove "01" è il primo giorno del mese.

<tr><th scope="row" style="vertical-align:top"td style="vertical-align:top<>'&#92;u0065'">'e'<td> Day of month, formattato come due cifre, ovvero 1 - 31 dove "1" è il primo giorno del mese.

</tbody></table>

I caratteri di conversione seguenti vengono usati per formattare le composizioni di data/ora comuni.

<table class="striped"><didascalia style="display:none">composites</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"<>'R'td style="vertical-align'&#92;u0052'<>:top"td Time formattato per l'orologio di 24 ore come tr><th scope="row" style="vertical-align><'T':top"td style="vertical-align:"vertical-align:top'&#92;u0054'<>"td>> Time formattato per l'orologio di 24 ore come ."%tH:%tM"<"%tH:%tM:%tS"

<tr><th scope="row" style="vertical-align:top"td style="'r'<>vertical-align:top'&#92;u0072'<>"td> Time formattato per l'orologio di 12 ore come ."%tI:%tM:%tS %Tp" La posizione del marcatore mattina o pomeriggio ('%Tp') può essere dipendente dalle impostazioni locali.

<tr><th scope="row" style="vertical-align:top"td style="'D'<>vertical-align:top'&#92;u0044'<>"td> Date formattato come ."%tm/%td/%ty"

<tr><th scope="row" style="vertical-align:top"td style="<'F'>vertical-align:top><'&#92;u0046'"td> ISO 8601 data completa formattata come ."%tY-%tm-%td"

<tr><th scope="row" style="vertical-align:top"td style="'c'<>vertical-align:top<'&#92;u0063'>"td> Date and time formattato come "%ta %tb %td %tT %tZ %tY", ad esempio . "Sun Jul 20 16:17:00 EDT 1969"

</tbody></table>

Il '-' flag definito per le conversioni generali si applica. Se viene specificato il '#' flag, verrà generato un FormatFlagsConversionMismatchException oggetto.

La larghezza è il numero minimo di caratteri da scrivere nell'output. Se la lunghezza del valore convertito è minore width di quella, l'output verrà riempito in base agli spazi ('&#92;u0020') fino al numero totale di caratteri uguali alla larghezza. Il riempimento è a sinistra per impostazione predefinita. Se il flag viene specificato, la '-' spaziatura interna sarà a destra. Se la larghezza non è specificata, non esiste alcun minimo.

La precisione non è applicabile. Se viene specificata la precisione, verrà generata un'eccezione IllegalFormatPrecisionException .

<h4"dper">Percent</h4>>

La conversione non corrisponde a alcun argomento.

<table class="striped"><didascalia style="display:none">DTConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"'%'<>td> Il risultato è un valore letterale '%' ()'&#92;u0025'

La larghezza è il numero minimo di caratteri da scrivere nell'output incluso .'%' Se la lunghezza del valore convertito è minore width di quella, l'output verrà riempito in base agli spazi ('&#92;u0020') fino al numero totale di caratteri uguali alla larghezza. La spaziatura interna è a sinistra. Se la larghezza non è specificata, solo l'output '%' è.

Il '-' flag definito per le conversioni generali si applica. Se vengono forniti altri flag, verrà generato un FormatFlagsConversionMismatchException oggetto.

La precisione non è applicabile. Se viene specificata IllegalFormatPrecisionException la precisione viene generata.

</tbody></table>

<h4"dls">Separatore< linea/h4>>

La conversione non corrisponde a alcun argomento.

<table class="striped"><didascalia style="display:none">DTConv</didascalia>< tbody>

<tr><th scope="row" style="vertical-align:top"><'n'td> the platform-specific line separator as returned by .System#lineSeparator()

</tbody></table>

I flag, la larghezza e la precisione non sono applicabili. Se vengono forniti rispettivamente un IllegalFormatFlagsExceptionoggetto , IllegalFormatWidthExceptione IllegalFormatPrecisionException, verrà generato.

<h4"dpos">Argument Index</h4>>

Gli identificatori di formato possono fare riferimento agli argomenti in tre modi:

<ul>

<l'indicizzazione> esplicita li viene usata quando l'identificatore di formato contiene un indice di argomento. L'indice dell'argomento è un intero decimale che indica la posizione dell'argomento nell'elenco degli argomenti. Il primo argomento viene fatto riferimento a "", il secondo da "1$2$", ecc. Un argomento può essere fatto riferimento più di una volta.

Ad esempio:

<Blockquote>

formatter.format("%4$s %3$s %2$s %1$s %4$s %3$s %2$s %1$s",
                               "a", "b", "c", "d")
              // -&gt; "d c b a d c b a"

</Blockquote>

<l'indicizzazione relativa> li viene usata quando l'identificatore di formato contiene un '<' flag ('&#92;u003c') che causa la riusata dell'argomento per l'identificatore di formato precedente. Se non esiste alcun argomento precedente, viene generato un MissingFormatArgumentException oggetto.

<Blockquote>

formatter.format("%s %s %&lt;s %&lt;s", "a", "b", "c", "d")
               // -&gt; "a b b b"
               // "c" and "d" are ignored because they are not referenced

</Blockquote>

<l'indicizzazione> normale li viene usata quando l'identificatore di formato contiene né un indice di argomento né un '<' flag. Ogni identificatore di formato che usa l'indicizzazione comune viene assegnato a un indice implicito sequenziale nell'elenco di argomenti indipendentemente dagli indici usati dall'indicizzazione esplicita o relativa.

<Blockquote>

formatter.format("%s %s %s %s", "a", "b", "c", "d")
              // -&gt; "a b c d"

</Blockquote>

</ul>

È possibile avere una stringa di formato che usa tutte le forme di indicizzazione, ad esempio:

<Blockquote>

formatter.format("%2$s %s %&lt;s %s", "a", "b", "c", "d")
              // -&gt; "b a a b"
              // "c" and "d" are ignored because they are not referenced

</Blockquote>

Il numero massimo di argomenti è limitato dalla dimensione massima di una matrice Java come definito dalla <cita>Il&commerciale Java; Specifica< macchina virtuale/cite>. Se l'indice dell'argomento non corrisponde a un argomento disponibile, viene generato un MissingFormatArgumentException oggetto .

Se sono presenti più argomenti rispetto agli identificatori di formato, gli argomenti aggiuntivi vengono ignorati.

A meno che non sia specificato in caso contrario, il passaggio di un argomento a qualsiasi null metodo o costruttore in questa classe causerà la creazione di un oggetto NullPointerException .

Aggiunto nella versione 1.5.

Documentazione Java per java.util.Formatter.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

Formatter()

Costruisce un nuovo formattatore.

Formatter(File)

Costruisce un nuovo formattatore con il file specificato.

Formatter(File, Charset, Locale)

Costruisce un nuovo formattatore con il file, il charset e le impostazioni locali specificati.

Formatter(File, String)

Costruisce un nuovo formattatore con il file e il charset specificati.

Formatter(File, String, Locale)

Costruisce un nuovo formattatore con il file, il charset e le impostazioni locali specificati.

Formatter(IAppendable)

Costruisce un nuovo formattatore con la destinazione specificata.

Formatter(IAppendable, Locale)

Costruisce un nuovo formattatore con la destinazione e le impostazioni locali specificate.

Formatter(Locale)

Costruisce un nuovo formattatore con le impostazioni locali specificate.

Formatter(PrintStream)

Costruisce un nuovo formattatore con il flusso di stampa specificato.

Formatter(Stream)

Costruisce un nuovo formattatore con il flusso di output specificato.

Formatter(Stream, Charset, Locale)

Costruisce un nuovo formattatore con il flusso di output specificato, charset e impostazioni locali.

Formatter(Stream, String)

Costruisce un nuovo formattatore con il flusso di output specificato e charset.

Formatter(Stream, String, Locale)

Costruisce un nuovo formattatore con il flusso di output specificato, charset e impostazioni locali.

Formatter(String)

Costruisce un nuovo formattatore con il nome del file specificato.

Formatter(String, Charset, Locale)

Costruisce un nuovo formattatore con il nome del file, il charset e le impostazioni locali specificati.

Formatter(String, String)

Costruisce un nuovo formattatore con il nome del file e il charset specificati.

Formatter(String, String, Locale)

Costruisce un nuovo formattatore con il nome del file, il charset e le impostazioni locali specificati.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
JniPeerMembers

Interprete per stringhe di formato printf-style.

PeerReference

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)
ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)

Metodi

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Close()

Chiude questo formattatore.

Dispose()

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
Dispose(Boolean)

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
Flush()

Scarica questo formattatore.

Format(Locale, String, Object[])

Scrive una stringa formattata nella destinazione dell'oggetto usando la stringa di formato e gli argomenti specificati.

Format(String, Object[])

Scrive una stringa formattata nella destinazione dell'oggetto usando la stringa di formato e gli argomenti specificati.

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
IoException()

Restituisce l'ultimo IOException generato da questo formattatore .Appendable

JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
Locale()

Restituisce le impostazioni locali impostate dalla costruzione di questo formattatore.

Notify()

Riattiva un singolo thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
Out()

Restituisce la destinazione per l'output.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
ToArray<T>()

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
IJavaPeerable.Finalized()

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Interprete per stringhe di formato printf-style.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Interprete per stringhe di formato printf-style.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Interprete per stringhe di formato printf-style.

GetJniTypeName(IJavaPeerable)

Interprete per stringhe di formato printf-style.

FlushAsync(IFlushable)

Interprete per stringhe di formato printf-style.

Si applica a