Domanda

In Python puoi usare una tupla in un'istruzione di stampa formattata e i valori di tupla vengono usati nelle posizioni indicate nella stringa formattata. Ad esempio:

>>> a = (1,"Hello",7.2)
>>> print "these are the values %d, %s, %f" % a
these are the values 1, Hello, 7.200000

Esiste un modo per utilizzare un array o una raccolta in un'istruzione java printf in modo simile?

Ho esaminato la documentazione e sembra avere il supporto integrato per alcuni tipi come Calendar, ma non vedo nulla per le raccolte.

Se questo non è fornito in Java, esiste un linguaggio Java che potrebbe essere usato in un caso come questo in cui si stanno popolando raccolte e quindi stampando i valori di molte raccolte usando una stringa di formato (oltre al semplice ciclo nidificato) ?

È stato utile?

Soluzione

printf avrà una dichiarazione sulla falsariga di:

public PrintString printf(String format, Object... args);

... significa più o meno lo stesso di [] . La differenza è ... consente al chiamante di omettere esplicitamente la creazione di un array. Quindi considera:

    out.printf("%s:%s", a, b);

Questo è l'equivalente di:

    out.printf("%s:%s", new Object[] { a, b });

Quindi, tornando alla tua domanda, per un array, puoi semplicemente scrivere:

    out.printf("%s:%s", things);

Per una raccolta:

    out.printf("%s:%s", things.toArray());

Altri suggerimenti

Potresti essere interessato dal anche MessageFormat .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top