Java zawiera zmienne wewnątrz łańcuchów?


Więc wszyscy powinniśmy wiedzieć, że możesz dołączyć zmienne do łańcuchów, wykonując następujące czynności:
String string = "A string " + aVariable;

Czy jest na to sposób:
String string = "A string {aVariable}";
Innymi słowy:

bez zamykania cudzysłowów i dodawania znaków plus. To jest bardzo nieatrakcyjne.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zawsze możesz użyć String.format (....). te.,
String string = String.format("A String %s %2d", aStringVar, anIntVar);

Nie jestem pewien, czy jest to dla Ciebie wystarczająco atrakcyjne, ale może być bardzo przydatne. Składnia jest taka sama, jak w przypadku printf i java.util.Formatter. Używam go często, zwłaszcza jeśli chcę wyświetlić tabelaryczne dane liczbowe.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nazywa się to interpolacją ciągów; nie istnieje jako taki w Javie.
Jednym ze sposobów jest użycie String.format:
String string = String.format("A string %s", aVariable);

Innym podejściem jest użycie biblioteki szablonów, takiej jak

Velocity
http://velocity.apache.org/engine/index.html
lub

FreeMarker
https://freemarker.apache.org/
.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Weź również pod uwagę
java.text.MessageFormat
http://docs.oracle.com/javase/ ... .html, który używa pokrewnej składni zawierającej numeryczne indeksy argumentów. Na przykład,
String aVariable = "of ponies";
String string = MessageFormat.format("A string {0}.", aVariable);

wyniki w
string
zawierają co następuje:
A string of ponies.

Najczęściej klasa jest używana do formatowania liczbowego i tymczasowego.

Tutaj
https://stackoverflow.com/a/3551238/230513
opisano przykład formatowania etykiety
JFreeChart
https://stackoverflow.com/tags/jfreechart/info
; klasa
RCInfo
https://sourceforge.net/p/robo ... .java
formatuje pasek stanu gry.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

możesz użyć formatu ciągu, aby dołączyć zmienne do łańcuchów
Używam tego kodu, aby uwzględnić 2 zmienne w ciągu:

String myString = String.format ("to jest mój ciąg% s% 2d", nazwa_zmiennej1, nazwa_zmiennej2);

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się