Formatter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Interprete per stringhe di formato di tipo 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
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Interprete per stringhe di formato di tipo printf. Questa classe fornisce il 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. Sono supportati tipi Java comuni, ad byte
esempio , java.math.BigDecimal BigDecimal
e Calendar
. La personalizzazione della formattazione limitata per i tipi di utente arbitrari viene fornita tramite l'interfaccia Formattable
.
I formattatori non sono necessariamente sicuri per l'accesso multithreading. Thread safety è facoltativo ed è responsabilità degli utenti dei 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 sue funzionalità. Inoltre, la formattazione Java è più rigorosa di C; Ad esempio, se una conversione non è compatibile con un flag, verrà generata un'eccezione. Nei flag inapplicabili C vengono ignorati automaticamente. Le stringhe di formato sono quindi concepite per 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")
// -> " 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>
Esistono metodi pratici per le richieste di formattazione comuni, come illustrato dalle chiamate seguenti:
<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>
Analogamente a sprintf(3)
C, le stringhe possono essere formattate usando il metodo String#format(String,Object...) String.format
statico :
<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>
Questa specifica è suddivisa 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, Details, illustra i dettagli di implementazione specifici. È destinato agli utenti che desiderano una specifica più precisa del comportamento di formattazione.
<h3>"summary">Summary</h3>
In questa sezione viene fornita una breve panoramica dei concetti di formattazione. Per dettagli comportamentali precisi, vedere la sezione Dettagli.
<h4>"syntax">Format String Syntax</h4>
Ogni metodo che produce output formattato richiede una stringa di formato e un elenco di argomenti. La stringa di formato è un oggetto String
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
%1$te
" e "%1$tY
" che indicano come devono essere elaborati gli argomenti 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 di argomenti è di dimensione 1 ed è costituito dall'oggetto java.util.Calendar Calendar
c
.
<ul>
<li> Gli identificatori di formato per i tipi generali, di caratteri e numerici hanno la sintassi seguente:
<blockquote>
%[argument_index$][flags][width][.precision]conversion
</blockquote>
Il argument_index facoltativo è un numero intero decimale che indica la posizione dell'argomento nell'elenco di argomenti. Il primo argomento viene fatto riferimento da "1$
", il secondo da "2$
" e così via.
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 numero intero decimale positivo che indica il numero minimo di caratteri da scrivere nell'output.
La precisione facoltativa è un numero intero decimale non negativo usato in genere per limitare il numero di caratteri. Il comportamento specifico dipende dalla conversione.
La conversione obbligatoria è 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 utilizzati per rappresentare date e ore hanno la sintassi seguente:
<blockquote>
%[argument_index$][flags][width]conversion
</blockquote>
Le argument_index facoltative, i flag e la larghezza sono definiti come indicato 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 larghezza facoltativi sono definiti in precedenza.
La conversione obbligatoria è un carattere che indica il contenuto da inserire nell'output.
</ul>
<conversioni <h4> /h4>
Le conversioni sono suddivise nelle categorie seguenti:
<olo>
<li><b Generale</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
, byte
Character
, Byte
, short
, e Short
.<>< Questa conversione può essere applicata anche ai tipi e quando restituisce true
<li><b>Numeric</b Character#isValidCodePoint
Integer
int
>
<olo>
<li>b Integral</b>> - può essere applicato ai tipi integrali Java: byte
, , Short
short
Byte
, int
e Integer
, long
Long
e 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
, double
Float
, Double
, e java.math.BigDecimal BigDecimal
</ol>
<li>b Date/Time</b> - può essere applicato ai tipi Java che sono in grado di codificare una data o un'ora: long
, Long
Calendar
, Date
e<TemporalAccessor TemporalAccessor
li<>b Percent</b>> - produce un valore letterale '%'
()'\u0025'
><
<li><b>Line Separator</b> : produce il separatore di riga specifico della piattaforma
</olo>
Per la categoria Generale, Carattere, Numerico, Integrale e Conversione 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'
, 'X'
'E'
'S'
'H'
'G'
'A'
'C'
, 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, durante la costruzione dell'istanza o come parametro per la chiamata al metodo, viene usato .java.util.Locale.Category#FORMAT default locale
<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> Se l'argomento arg è null
, il risultato è "false
". Se arg è o boolean
Boolean
, 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 numero intero decimale
<tr><th scope="row" style="vertical-align:top"><'o'
td style="vertical-align:top"> integrale <td> Il risultato viene formattato come numero 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"> a virgola <mobile 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 notazione scientifica computerizzata o formato decimale, 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"> a virgola mobile <td> Il risultato viene formattato come numero a virgola mobile esadecimale con un significando e un esponente. Questa conversione è <b non</b>> supportata per il BigDecimal
tipo, nonostante quest'ultima si trova nella categoria di argomenti a virgola mobile.
<tr><th scope="row" style="vertical-align:top">'t'
, 'T'
<td style="vertical-align:top"> prefisso td> data/ora <per i caratteri di conversione di data e ora. 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 '%'
()'\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>
I caratteri di suffisso di conversione di data e ora seguenti sono definiti per le 't'
conversioni e 'T'
. 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"><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, formattato come due cifre con zero iniziale, ad esempio 00 - 23
.
<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 for the 12-hour clock, 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 maiuscolo.
<tr><th scope="row" style="vertical-align:top">'z'
<td>RFC 822 style numeric time zone offset from GMT, ad esempio . -0800
Questo valore verrà modificato in base alle esigenze per l'ora legale. Per long
, Long
e 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
, Long
e 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 del periodo 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"<'Q'
>td> Milliseconds dall'inizio del periodo a partire dal 1° gennaio 1970 00:00:00
UTC, ad esempio Long.MIN_VALUE
a .Long.MAX_VALUE
</tbody></table>
Per la formattazione delle date vengono usati i caratteri di conversione seguenti:
<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, 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 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 "Sun"
esempio , "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 00 - 99
<esempio tr><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 92
a 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, ad 01 - 31
<esempio 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"><caption style="display:none">composites</caption><tbody>
<tr><th scope="row" style="vertical-align:top"'R'
<>td> Time formattato per l'orologio di 24 ore come "%tH:%tM"
<tr><th scope="row" style="vertical-align:top"'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> Date and time formattato come "%ta %tb %td %tT %tZ %tY"
, ad esempio . "Sun Jul 20 16:17:00 EDT 1969"
</tbody></table>
Tutti 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 argomenti indicati.
<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" <>> 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 BigInteger
byte
, Short
Byte
short
int
e Integer
long
, e .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.
<h4> Width </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 argomento carattere, integrale e data/ora e 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$
", il secondo da "2$
" e così via.
Un altro modo per fare riferimento agli argomenti in base alla posizione consiste nell'usare il '<'
flag ('\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 %<te,%<tY", c);
</blockquote>
<hr><h3>"detail">Details</h3>
Questa sezione è destinata a fornire dettagli comportamentali per la formattazione, incluse condizioni ed eccezioni, tipi di dati supportati, localizzazione e 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 un carattere di questo tipo in una stringa di formato causerà un'eccezione UnknownFormatConversionException
o UnknownFormatFlagsException
da generare.
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
IllegalFormatPrecisionException
o 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
, nonché da qualsiasi format
metodo pratico, ad String#format(String,Object...) String.format
esempio e java.io.PrintStream#printf(String,Object...) PrintStream.printf
.
Per la categoria Generale, Carattere, Numerico, Integrale e Conversione data/ora, se non diversamente specificato, se l'argomento argè null
, il risultato è "".null
Le conversioni indicate da un carattere maiuscolo (ad esempio 'B'
, 'X'
'E'
'S'
'H'
'G'
'A'
'C'
, 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, durante la 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"><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
" come restituito da .Boolean#toString(boolean)
Se l'argomento è null
, il risultato è "false
". Se l'argomento è o boolean
Boolean
, 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"'\u0042'
<>td> La variante maiuscola di .'b'
<tr><th scope="row" style="vertical-align:top">'h'
<td style="vertical-align:top"'\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"'\u0048'
<>td> La variante maiuscola di .'h'
<tr><th scope="row" style="vertical-align:top">'s'
<td style="vertical-align:top"'\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 viene specificato il '#'
flag 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"'\u0053'
<>td> La variante maiuscola di .'s'
</tbody></table>
I flag "dFlags"> seguenti si applicano alle conversioni generali:
<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 giustifica l'output. Gli spazi ('\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"'\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 di ' '
('\u0020'
) fino a quando il numero totale di caratteri è uguale alla larghezza. La spaziatura interna si trova a sinistra per impostazione predefinita. Se viene specificato il '-'
flag, la spaziatura interna sarà a destra. Se la larghezza non viene specificata, non esiste 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 al numero di caratteri.
<h4>"dchar">Character</h4>
Questa conversione può essere applicata a char
e Character
. Può anche essere applicato ai tipi byte
, Byte
, short
e Short
int
e Integer
quando Character#isValidCodePoint
restituisce true
. Se restituisce false
, verrà generata un'eccezione IllegalFormatCodePointException
.
<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> Formatta l'argomento come carattere Unicode come descritto in Rappresentazione di caratteri Unicode. Può trattarsi di più di un bit a 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"'\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:
<olo>
<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:
<olo>
<li> Ogni carattere di cifra d nella stringa viene sostituito da una cifra specifica delle impostazioni locali calcolata rispetto al codice java.text.DecimalFormatSymbols#getZeroDigit() zero digitz, ovvero d - '0'
+ z.
<li> Se è presente un separatore decimale, viene sostituito un separatore decimale specifico delle impostazioni locali java.text.DecimalFormatSymbols#getDecimalSeparator.
<li> Se viene specificato il ','
'\u002c'
flag "L10nGroup",> il separatore di raggruppamento java.text.DecimalFormatSymbols#getGroupingSeparator viene inserito analizzando la parte intera della stringa da cifre meno significative alle 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 di zero java.text.DecimalFormatSymbols#getZeroDigit() vengono inserite dopo il carattere di segno, se presenti, e prima della prima cifra diversa da zero, fino alla lunghezza della stringa uguale alla larghezza del campo richiesto.
<li> Se il valore è negativo e viene specificato il '('
flag, viene anteporto un '('
'\u0028'
() e viene aggiunto un ('\u0029'
')'
).
<li> Se il valore è negativo (o zero negativo a virgola mobile) e '('
il flag non viene specificato, viene anteponi un '-'
oggetto ('\u002d'
).
<li> Se il '+'
flag viene specificato e il valore è positivo o zero (o zero positivo a virgola mobile zero), verrà anteporto un '+'
oggetto ('\u002b'
).
</olo>
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
Short
, int
e Integer
long
, e 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> Formatta l'argomento come numero intero decimale. Viene applicato l'algoritmo di localizzazione.
Se viene specificato il '0'
flag e il valore è negativo, la spaziatura interna zero si verificherà 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"'\u006f'
><td> Formatta l'argomento come numero intero 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 o Long#SIZE Long in base alle esigenze.
Se viene specificato il '#'
flag, l'output inizierà sempre con l'indicatore '0'
radix .
Se il '0'
flag viene specificato, l'output verrà riempito con zeri iniziali fino alla larghezza del campo dopo qualsiasi indicazione del segno.
Se '('
, '+'
' ', o ','
vengono specificati flag, quindi verrà generata un'eccezione FormatFlagsConversionMismatchException
.
<tr><th scope="row" style="vertical-align:top">'x'
<td style="vertical-align:top"'\u0078'
><td> Formatta l'argomento come numero 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 o Long#SIZE Long in base alle esigenze.
Se viene specificato il '#'
flag, 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 , ' '
'+'
, o ','
, verrà generata un'eccezione FormatFlagsConversionMismatchException
.
<tr><th scope="row" style="vertical-align:top"'X'
><td style="vertical-align:top"'\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 'a'
- 'f'
cifre esadecimali ( - '\u0061'
'\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"><caption style="display:none">intFlags</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'+'
<td style="vertical-align:top"'\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 ' '
, verrà generata un'eccezione IllegalFormatFlagsException
.
<tr><th scope="row" style="vertical-align:top"' '
><td style="vertical-align:top"'\u0020'
<>td> Richiede che l'output includa un singolo spazio aggiuntivo ('\u0020'
) per i valori non negativi.
Se vengono specificati entrambi i '+'
flag e ' '
, verrà generata un'eccezione IllegalFormatFlagsException
.
<tr><th scope="row" style="vertical-align:top">'0'
<td style="vertical-align:top"'\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"'\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"<'\u0028'
>td> Richiede che l'output prependa un '('
('\u0028'
) e accoda un ')'
('\u0029'
) a valori negativi.
</tbody></table>
Se ai flag "intdFlags"> non viene assegnata la formattazione predefinita è la seguente:
<ul>
<li> L'output è giustificato a destra all'interno dei<width
numeri negativi li> iniziano con un '-'
('\u002d'
)
<li> Numeri positivi e zero non includono un segno o uno spazio iniziale aggiuntivo
<li> Non sono inclusi separatori di raggruppamento
</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 ('\u0020'
) fino a quando il numero totale di caratteri è uguale a larghezza. La spaziatura interna si trova a sinistra per impostazione predefinita. Se '-'
viene specificato il flag, la spaziatura interna sarà a destra. Se la larghezza non è specificata, non esiste 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"><caption style="display:none">bIntConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top">'d'
<td style="vertical-align:top"'\u0064'
><td> Richiede che l'output venga formattato come numero 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"'\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 '-'
('\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 specificato il '+'
flag, il risultato inizierà con '+'
('\u002b'
).
Se viene specificato il '#'
flag, l'output inizierà sempre con '0'
il prefisso .
Se il '0'
flag viene specificato, l'output verrà riempito con zeri iniziali fino 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"'\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 '-'
('\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 specificato il '+'
flag, il risultato inizierà con '+'
('\u002b'
).
Se viene specificato il '#'
flag, 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"'\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 'a'
- 'f'
cifre esadecimali ( - '\u0061'
'\u0066'
).
</tbody></table>
Se la conversione è 'o'
, 'x'
o 'X'
e vengono specificati entrambi '#'
i flag e '0'
, 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 viene specificato il '0'
flag e il valore è negativo, la spaziatura interna zero si verificherà dopo il segno.
Se il '-'
flag non viene specificato, la spaziatura interna verrà eseguita prima del segno.
Si applicano tutti i flag definiti per Byte, Short, Integer e Long. Il comportamento predefinito quando non viene specificato alcun flag è uguale a per Byte, Short, Integer e Long.
La specifica di larghezza è identica a quella 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
, Float
double
e 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> 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, verranno restituite rispettivamente le stringhe letterali "NaN" o "Infinity". 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 10<sup>n</sup <= m < 10<sup>n+1</sup>; quindi lasciare che sia il quoziente matematicamente esatto di m e 10<sup>> n</sup> in modo che 1 <= a <'e'
), seguito dal segno dell'esponente, seguito da una rappresentazione di n come numero intero decimale, come prodotto dal metodo Long#toString(long, int)
e con riempimento zero per includere almeno due cifre.
Il numero di cifre nel risultato per la parte frazionaria di m o un oggetto è uguale alla precisione. Se la precisione non viene specificata, il valore predefinito è 6
. Se la precisione è minore del numero di cifre che verrebbero visualizzate dopo il separatore decimale nella stringa restituita rispettivamente da Float#toString(float)
o Double#toString(double)
, il valore verrà arrotondato usando java.math.RoundingMode#HALF_UP algoritmo di arrotondamento della metà. In caso contrario, è possibile aggiungere zeri 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à generata un'eccezione FormatFlagsConversionMismatchException
.
<tr><th scope="row" style="vertical-align:top"'E'
><td style="vertical-align:top"'\u0045'
<>td> La variante maiuscola di .'e'
Il simbolo esponente sarà il separatore dell'esponente specifico delle impostazioni locali java.text.DecimalFormatSymbols#getExponentSeparator exponent separator (ad esempio 'E'
).
<tr><th scope="row" style="vertical-align:top">'g'
<td style="vertical-align:top"'\u0067'
><td> Richiede che l'output venga formattato in 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>precision</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 computerizzata.
Il numero totale di cifre significative in m è uguale alla precisione. Se la precisione non viene specificata, il valore predefinito è 6
. Se la precisione è 0
, viene impiegato come 1
.
Se viene specificato il '#'
flag, verrà generata un'eccezione FormatFlagsConversionMismatchException
.
<tr><th scope="row" style="vertical-align:top"'G'
><td style="vertical-align:top"'\u0047'
<>td> La variante maiuscola di .'g'
<tr><th scope="row" style="vertical-align:top"'f'
><td style="vertical-align:top"'\u0066'
<>td> Richiede che l'output venga formattato utilizzando il formato decimale"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 infinite, verranno restituite rispettivamente le stringhe letterali "NaN" o "Infinity". Questi valori non sono localizzati.
La grandezza viene formattata come parte intera di m, senza zeri 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 oggetto è uguale alla precisione. Se la precisione non viene specificata, il valore predefinito è 6
. Se la precisione è minore del numero di cifre che verrebbero visualizzate dopo il separatore decimale nella stringa restituita rispettivamente da Float#toString(float)
o Double#toString(double)
, il valore verrà arrotondato usando java.math.RoundingMode#HALF_UP algoritmo di arrotondamento della metà. In caso contrario, è possibile aggiungere zeri 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">'a'
<td style="vertical-align:top"'\u0061'
><td> Richiede che l'output venga formattato in formato 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 '-'
('\u002d'
).
Se x è positivo o un valore positivo-zero e il '+'
flag viene specificato, il risultato inizierà con '+'
('\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 double
valore con una rappresentazione normalizzata, le sottostringhe vengono usate per rappresentare i campi significand ed esponenti. Il significando è rappresentato dai caratteri "0x1."
seguiti dalla rappresentazione esadecimale del resto del significando come frazione. L'esponente è rappresentato da ('\u0070'
) seguito da 'p'
una stringa decimale dell'esponente non distorto come se fosse prodotta richiamando Integer#toString(int) Integer.toString
sul valore 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 sottonormaale, a meno che non venga specificata la precisione 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 dall'esponente rappresentato da 'p-1022'
. Se la precisione è nell'intervallo [1, 12], il valore sottonormalo viene normalizzato in modo che inizi con i caratteri '0x1.'
, arrotondato al numero di cifre esadecimali di precisione esadecimali e l'esponente modificato di conseguenza. Si noti che deve essere presente almeno una cifra diversa da zero in un significando subnorma.
</ul>
Se vengono specificati i '('
flag o ','
, verrà generata un'eccezione FormatFlagsConversionMismatchException
.
<tr><th scope="row" style="vertical-align:top"'A'
><td style="vertical-align:top"'\u0041'
<>td> La variante maiuscola di .'a'
L'intera stringa che rappresenta il numero verrà convertita in lettere maiuscole, incluse le cifre () e 'p'
('\u0070'
e tutte le 'a'
'f'
- cifre esadecimali ('\u0061'
'\u0066'
- ).'\u0078'
'x'
</tbody></table>
Si applicano tutti i flag definiti per Byte, Short, Integer e Long.
Se viene specificato il '#'
flag, il separatore decimale sarà sempre presente.
Se ai flag "floatdFlags"> non viene assegnata la formattazione predefinita è la seguente:
<ul>
<li> L'output è giustificato a destra all'interno dei width
<numeri negativi li> iniziano con un '-'
<numero positivo li> e zero positivo non includono un segno o uno spazio iniziale aggiuntivo
<li> Non sono inclusi separatori di raggruppamento
<li> Il separatore decimale verrà visualizzato solo se ne 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 di 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 ('\u0020'
) fino a quando il numero totale di caratteri è uguale a larghezza. La spaziatura interna si trova a sinistra per impostazione predefinita. Se viene specificato il '-'
flag, la spaziatura interna sarà a destra. Se la larghezza non è specificata, non esiste alcun valore minimo.
Se la conversione "floatDPrec">è 'e'
o 'E'
'f'
, la precisione corrisponde al numero di cifre dopo il separatore decimale. Se la precisione non viene specificata, si presuppone che sia 6
.
Se la conversione è 'g'
o 'G'
, la precisione corrisponde al numero totale di cifre significative nella grandezza risultante dopo l'arrotondamento. Se la precisione non viene specificata, il valore predefinito è 6
. Se la precisione è 0
, viene impiegato come 1
.
Se la conversione è 'a'
o 'A'
, la precisione è il numero di cifre esadecimali dopo il punto radix. Se la precisione non viene specificata, verranno restituite tutte le cifre restituite da Double#toHexString(double)
.
"dnbdec"><b> BigDecimal </b>
È possibile applicare java.math.BigDecimal BigDecimal
le conversioni seguenti.
<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> Richiede che l'output venga formattato utilizzando la notazione scientifica "bscientific">computerizzata. 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 10<sup>n</sup <= m < 10<sup>n+1</sup>; quindi lasciare che sia il quoziente matematicamente esatto di m e 10<sup>> n</sup> in modo che 1 <= a <'e'
esponente ('\u0065'
), seguita dal segno dell'esponente, seguita da una rappresentazione di n come numero intero decimale, come prodotto dal metodo Long#toString(long, int)
, e con riempimento zero per includere almeno due cifre.
Il numero di cifre nel risultato per la parte frazionaria di m o un oggetto è uguale alla precisione. Se la precisione non viene specificata, il valore predefinito è 6
. Se la precisione è minore del numero di cifre a destra del separatore decimale, il valore verrà arrotondato usando java.math.RoundingMode#HALF_UP algoritmo di arrotondamento della metà. In caso contrario, è possibile aggiungere zeri per raggiungere la precisione. Per una rappresentazione canonica del valore, usare BigDecimal#toString()
.
Se viene specificato il ','
flag, verrà generata un'eccezione FormatFlagsConversionMismatchException
.
<tr><th scope="row" style="vertical-align:top"'E'
><td style="vertical-align:top"'\u0045'
<>td> La variante maiuscola di .'e'
Il simbolo esponente sarà 'E'
('\u0045'
).
<tr><th scope="row" style="vertical-align:top">'g'
<td style="vertical-align:top"'\u0067'
><td> Richiede che l'output venga formattato in 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>precision</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 computerizzata.
Il numero totale di cifre significative in m è uguale alla precisione. Se la precisione non viene specificata, il valore predefinito è 6
. Se la precisione è 0
, viene impiegato come 1
.
Se viene specificato il '#'
flag, verrà generata un'eccezione FormatFlagsConversionMismatchException
.
<tr><th scope="row" style="vertical-align:top"'G'
><td style="vertical-align:top"'\u0047'
<>td> La variante maiuscola di .'g'
<tr><th scope="row" style="vertical-align:top"'f'
><td style="vertical-align:top"'\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 zeri 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 oggetto è uguale alla precisione. Se la precisione non viene specificata, il valore predefinito è 6
. Se la precisione è minore del numero di cifre a destra del separatore decimale, il valore verrà arrotondato usando java.math.RoundingMode#HALF_UP algoritmo di arrotondamento della metà. In caso contrario, è possibile aggiungere zeri per raggiungere la precisione. Per una rappresentazione canonica del valore, usare BigDecimal#toString()
.
</tbody></table>
Si applicano tutti i flag definiti per Byte, Short, Integer e Long.
Se viene specificato il '#'
flag, il separatore decimale sarà sempre presente.
Il comportamento predefinito quando non viene specificato alcun flag è uguale a quello di Float e Double.
La specifica di larghezza e precisione è identica a quella definita per Float e Double.
<h4>"ddt">Date/Time</h4>
Questa conversione può essere applicata a long
, Long
, Calendar
Date
e<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 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 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"><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, formattato come due cifre con uno zero iniziale in base alle esigenze, ovvero 00 - 23
. 00
corrisponde a mezzanotte.
<tr><th scope="row" style="vertical-align:top"'I'
><td style="vertical-align:top"'\u0049'
<>td> Hour for the 12-hour clock, formattato come due cifre con uno 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">'k'
<td style="vertical-align:top">'\u006b'
<td> Hour of the day for the 24-hour clock, ovvero 0 - 23
. 0
corrisponde a mezzanotte.
<tr><th scope="row" style="vertical-align:top">'l'
<td style="vertical-align:top">'\u006c'
<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"'M'
><td style="vertical-align:top"'\u004d'
<>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 style="vertical-align:top">'\u0053'
<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 style="vertical-align:top"'\u004c'
<>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 style="vertical-align:top"'\u004e'
<>td> Nanosecond entro il secondo, formattato come nove cifre con zeri 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"'p'
><td style="vertical-align:top"'\u0070'
<>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 maiuscolo. Si noti che 'p'
produce un output con lettere minuscole. Questo è diverso da GNU date
e POSIX strftime(3c)
che producono output maiuscolo.
<tr><th scope="row" style="vertical-align:top"'z'
<>td style="vertical-align:top"<'\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
, Long
e 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 style="vertical-align:top"'\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
, Long
e 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 style="vertical-align:top">'\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"<'Q'
>td style="vertical-align:top"'\u004f'
><td> Milliseconds dall'inizio del periodo 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>
Per la formattazione delle date vengono usati i caratteri di conversione seguenti:
<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, ad esempio "January"
, . "February"
<tr><th scope="row" style="vertical-align:top">'b'
<td style="vertical-align:top">'\u0062'
<td> Locale-specific java.text.DateFormatSymbols#getShortMonths abbreviato month name, ad esempio "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 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"td Locale-specific short name of the java.text.DateFormatSymbols#getShortWeekdays day of the week, ad esempio , tr"><'\u0061'
td> Locale-specific name of the java.text.DateFormatSymbols#getShortWeekdays day of the week, ad esempio "Sun"
, tr><"Mon"
<th scope="row" style="vertical-align:top"><'C'
td style="vertical-align:top"<>'\u0043'
td> Anno a quattro cifre diviso per 100
, formattato come due cifre con zero iniziale in base alle esigenze, ad 00 - 99
<esempio tr><th scope="row" style="vertical-align:top">'Y'
<td style="vertical-align:top">'\u0059'
<td> Year, formattato su almeno quattro cifre con zeri iniziali in base alle esigenze, ad esempio 0092
è uguale 92
a CE per il calendario gregoriano.
<tr><th scope="row" style="vertical-align:top"'y'
><td style="vertical-align:top"'\u0079'
<>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 style="vertical-align:top"'\u006a'
<>td> Day of year, formattato come tre cifre con zeri 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"<'m'
>td style="vertical-align:top">'\u006d'
<td> Month, formattato come due cifre con zeri iniziali in base alle esigenze, 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">'d'
<td style="vertical-align:top">'\u0064'
<td> Day of month, formattato come due cifre con zeri iniziali in base alle esigenze, ad esempio 01 - 31
, dove "01
" è il primo giorno del mese.
<tr><th scope="row" style="vertical-align:top">'e'
<td style="vertical-align:top">'\u0065'
<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"><caption style="display:none">composites</caption><tbody>
<tr><th scope="row" style="vertical-align:top"><'R'
td style="vertical-align:top"td> Time formattato per l'orologio di 24 ore come<"%tH:%tM"
tr><th scope="row" style="vertical-align:top"'T'
<>td style="vertical-align:top">'\u0052'
>'\u0054'
<<td> Time formattato per l'orologio di 24 ore come ."%tH:%tM:%tS"
<tr><th scope="row" style="vertical-align:top"'r'
><td style="vertical-align:top"'\u0072'
<>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 style="vertical-align:top"'\u0044'
<>td> Date formattato come ."%tm/%td/%ty"
<tr><th scope="row" style="vertical-align:top"'F'
<>td style="vertical-align:top"<'\u0046'
>td>ISO 8601 data completa formattata come ."%tY-%tm-%td"
<tr><th scope="row" style="vertical-align:top">'c'
<td style="vertical-align:top">'\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>
Si applica il '-'
flag definito per le conversioni generali. Se viene specificato il '#'
flag, verrà generata un'eccezione FormatFlagsConversionMismatchException
.
La larghezza è il numero minimo di caratteri da scrivere nell'output. Se la lunghezza del valore convertito è minore di , width
l'output verrà riempito in base agli spazi ('\u0020'
) fino a quando il numero totale di caratteri è uguale a larghezza. La spaziatura interna si trova a sinistra per impostazione predefinita. Se viene specificato il '-'
flag, la spaziatura interna sarà a destra. Se la larghezza non è specificata, non esiste alcun valore minimo.
La precisione non è applicabile. Se viene specificata la precisione, verrà generata un'eccezione IllegalFormatPrecisionException
.
<h4>"dper">Percent</h4>
La conversione non corrisponde ad alcun argomento.
<table class="striped"><caption style="display:none">DTConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top"'%'
<>td> Il risultato è un valore letterale '%'
()'\u0025'
La larghezza è il numero minimo di caratteri da scrivere nell'output, incluso .'%'
Se la lunghezza del valore convertito è minore di , width
l'output verrà riempito in base agli spazi ('\u0020'
) fino a quando il numero totale di caratteri è uguale a larghezza. La spaziatura interna è a sinistra. Se la larghezza non viene specificata, viene restituito solo l'output '%'
.
Si applica il '-'
flag definito per le conversioni generali. Se vengono forniti altri flag, verrà generata un'eccezione FormatFlagsConversionMismatchException
.
La precisione non è applicabile. Se viene specificata la precisione, verrà generata un'eccezione IllegalFormatPrecisionException
.
</tbody></table>
<h4>"dls">Separatore< linea/h4>
La conversione non corrisponde ad alcun argomento.
<table class="striped"><caption style="display:none">DTConv</caption><tbody>
<tr><th scope="row" style="vertical-align:top"><'n'
td> il separatore di riga specifico della piattaforma come restituito da .System#lineSeparator()
</tbody></table>
I flag, la larghezza e la precisione non sono applicabili. Se vengono forniti, verranno generati rispettivamente , IllegalFormatFlagsException
IllegalFormatWidthException
e IllegalFormatPrecisionException
.
<h4>"dpos">Argument Index</h4>
Gli identificatori di formato possono fare riferimento agli argomenti in tre modi:
<ul>
<L'indicizzazione li>Explicit viene utilizzata quando l'identificatore di formato contiene un indice di argomento. 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$
", il secondo da "2$
" e così via. È possibile fare riferimento a un argomento più volte.
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")
// -> "d c b a d c b a"
</blockquote>
<L'indicizzazione relativa li>viene utilizzata quando l'identificatore di formato contiene un '<'
flag ('\u003c'
) che fa sì che l'argomento per l'identificatore di formato precedente venga riutilizzato. Se non è presente alcun argomento precedente, viene generata un'eccezione MissingFormatArgumentException
.
<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>
<L'indicizzazione normale li>viene utilizzata quando l'identificatore di formato non contiene né un indice di argomento né un '<'
flag. A ogni identificatore di formato che utilizza l'indicizzazione ordinaria viene assegnato un indice implicito sequenziale nell'elenco di argomenti indipendentemente dagli indici utilizzati dall'indicizzazione esplicita o relativa.
<blockquote>
formatter.format("%s %s %s %s", "a", "b", "c", "d")
// -> "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 %<s %s", "a", "b", "c", "d")
// -> "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 cite <>The Java™ Specifica</cite> macchina virtuale. Se l'indice dell'argomento non corrisponde a un argomento disponibile, viene generata un'eccezione MissingFormatArgumentException
.
Se sono presenti più argomenti rispetto agli identificatori di formato, gli argomenti aggiuntivi vengono ignorati.
Se non diversamente specificato, il passaggio di un null
argomento a qualsiasi metodo o costruttore in questa classe genererà un'eccezione NullPointerException
.
Aggiunto nella versione 1.5.
Documentazione java per java.util.Formatter
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
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 set di caratteri 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, il charset e le impostazioni locali specificati. |
Formatter(Stream, String) |
Costruisce un nuovo formattatore con il flusso di output e il set di caratteri specificati. |
Formatter(Stream, String, Locale) |
Costruisce un nuovo formattatore con il flusso di output, il charset e le impostazioni locali specificati. |
Formatter(String) |
Costruisce un nuovo formattatore con il nome file specificato. |
Formatter(String, Charset, Locale) |
Costruisce un nuovo formattatore con il nome file, il charset e le impostazioni locali specificati. |
Formatter(String, String) |
Costruisce un nuovo formattatore con il nome file e il set di caratteri specificati. |
Formatter(String, String, Locale) |
Costruisce un nuovo formattatore con il nome file, il charset e le impostazioni locali specificati. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
JniPeerMembers |
Interprete per stringhe di formato di tipo printf. |
PeerReference |
Interprete per stringhe di formato di tipo printf. (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 di tipo printf. (Ereditato da Object) |
Dispose(Boolean) |
Interprete per stringhe di formato di tipo printf. (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 utilizzando la stringa di formato e gli argomenti specificati. |
Format(String, Object[]) |
Scrive una stringa formattata nella destinazione dell'oggetto utilizzando 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 |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri 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 monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor 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 di tipo printf. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< 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) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< 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 di tipo printf. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
IJavaPeerable.Finalized() |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Interprete per stringhe di formato di tipo printf. (Ereditato da Object) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Interprete per stringhe di formato di tipo printf. |
GetJniTypeName(IJavaPeerable) |
Interprete per stringhe di formato di tipo printf. |
FlushAsync(IFlushable) |
Interprete per stringhe di formato di tipo printf. |