Pergunta

Em python você pode usar uma tupla em uma instrução de impressão formatada e os valores da tupla são usados ​​nas posições indicadas na string formatada.Por exemplo:

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

Existe alguma maneira de usar qualquer array ou coleção em uma instrução java printf de maneira semelhante?

Eu olhei para o documentação e parece ter suporte integrado para alguns tipos como Calendário, mas não vejo nada para coleções.

Se isso não for fornecido em java, existe algum idioma java que seria usado em um caso como este, em que você está preenchendo coleções e imprimindo os valores de muitas coleções usando uma string de formato (diferente de apenas loop aninhado)?

Foi útil?

Solução

printf terá uma declaração nos moldes de:

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

...significa praticamente o mesmo que [].A diferença é ... permite que o chamador omita a criação explícita de um array.Então considere:

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

Isso é equivalente a:

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

Então, voltando à sua pergunta, para um array, você pode simplesmente escrever:

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

Para uma coleção:

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

Outras dicas

Você pode estar interessado no Formatodamensagem aula também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top