8
votes

Tant de façons de formater les mêmes données

Y a-t-il une différence entre quatre manières de formater les mêmes données? XXX


0 commentaires

4 Réponses :


1
votes

system.out est un imprimanteam pour le détail Suivez ce lien: Détails sur divers formats

une invocation de cette méthode de la forme

out.printf (locale L, format de chaîne, objet ... args)

se comporte exactement de la même manière que l'invocation

out.format (locale L, format de chaîne, objet ... args)

SO 1 & 2 sont les mêmes qu'il n'y a aucune différence B / / et 3 et 4 ont presque la même chose que la différence de temps de compilation sera présentes si comparées à 1 et 2.


0 commentaires

0
votes

prendre en compte que string.format () appels nouveau format (). Format () et imprimeur.printf () appelle presque le même il ne devrait y avoir aucune différence.


0 commentaires

0
votes

system.out.printf () , system.out.format () sont des méthodes de imprimanteam . Ils sont équivalents.

printf () affiche simplement la chaîne nouvellement formatée sur system.out , tandis que format () retourne une nouvelle chaîne formatée. < / p>


0 commentaires

2
votes

Les deux premiers sont exactement identiques, car printf code> est mis en œuvre comme ( source ) xxx pré>

Les deux derniers sont aussi exactement identiques, car string.format code> est implémenté comme ( source ) p> xxx pré>

Enfin, le 2e et le 4ème sont plus ou moins identiques, comme on peut le voir à partir de la mise en œuvre de PrintStream .format code> ( source ). Sous la hotte, cela crée également un nouveau formateur code> (si nécessaire) et appelle format code> sur ce format code>. p>

public PrintStream format(String format, Object ... args) {
    try {
        synchronized (this) {
            ensureOpen();
            if ((formatter == null)
                || (formatter.locale() != Locale.getDefault()))
                formatter = new Formatter((Appendable) this);
            formatter.format(Locale.getDefault(), format, args);
        }
    } catch (InterruptedIOException x) {
        Thread.currentThread().interrupt();
    } catch (IOException x) {
        trouble = true;
    }
    return this;
}


0 commentaires