2017-04-20 5 views
2

Gibt es eine Möglichkeit, eine Codezeile aufzubrechen, so dass sie als fortlaufend gelesen wird, obwohl sie sich in einer neuen Zeile in Java befindet?Zerlegen eines Zeichenfolgenliterals über mehrere Zeilen hinweg

public String toString() { 

    return String.format("BankAccount[owner: %s, balance: %2$.2f,\ 
    interest rate: %3$.2f,", myCustomerName, myAccountBalance, myIntrestRate); 
    } 

Der obige Code, wenn ich das alles tun eine auf der Linie alles funktioniert prima, aber wenn ich versuche, diese auf mehreren Linien zu tun, funktioniert es nicht.

In Python weiß ich, dass Sie \ verwenden, um mit der Eingabe einer neuen Zeile zu beginnen, aber beim Ausführen als eine Zeile auszugeben.

Ein Beispiel in Python zu klären. In Python drucken diese auf Linie mit einem umgekehrten Schrägstrich oder():

print('Oh, youre sure to do that, said the Cat,\ 
if you only walk long enough.') 

die Nutzer dies als sehen würden:

Oh, youre sure to do that, said the Cat, if you only walk long enough. 

Gibt es ähnliche Möglichkeiten, dies in Java zu tun ?? Vielen Dank!

+0

Nö, keine Möglichkeit, dass in Java zu tun. Das Beste, was Sie tun können, ist mit "+" über eine Linie zu verketten. –

+0

Könnten Sie immer noch String.format() oder müssten Sie das für jede Zeile tun? – ProFesh

+0

Wenn Sie eine neue Zeile 'concat' benötigen, dann die Zeichenkette mit '/ n' am Ende. –

Antwort

4

Unterbrechen Sie die Zeichenfolge auf der neuen Zeile mit + Operator funktioniert.

public String toString() { 
    return String.format("BankAccount[owner: %s, balance: " 
      + "%2$.2f, interest rate:" 
      + " %3$.2f]", 
      myCustomerName, 
      myAccountBalance, myIntrestRate); 
} 

Beispielausgabe: BankAccount[owner: TestUser, balance: 100.57, interest rate: 12.50]

+1

Da die mehrzeilige String-Addition, die nur String-Literale und -Konstanten enthält, als einzelnes Literal in der Klassendatei gespeichert wird, wird genau das erreicht, wonach gefragt wird. Gute Antwort. –

+0

@LewBloch, danke für die Erläuterung und Klärung weiter. –

+0

Danke Jungs! Das macht jetzt mehr Sinn und versteht es! Danke für die Klarstellung! – ProFesh

Verwandte Themen