Wie kann ich Java drucken lassen "Hello"
?
Wenn ich tippe, wird System.out.print("Hello");
die Ausgabe sein Hello
. Was ich suche, ist "Hello"
mit den Anführungszeichen ( ""
).
Wie kann ich Java drucken lassen "Hello"
?
Wenn ich tippe, wird System.out.print("Hello");
die Ausgabe sein Hello
. Was ich suche, ist "Hello"
mit den Anführungszeichen ( ""
).
Antworten:
System.out.print("\"Hello\"");
Das doppelte Anführungszeichen muss mit einem Backslash in einem Java-String-Literal maskiert werden. Andere Charaktere, die einer besonderen Behandlung bedürfen, sind:
"\r"
und"\n"
"\\\\"
"\'"
"\t"
und"\f"
Die vollständige Liste der Escapezeichen für Java-Zeichenfolgen und Zeichenliterale finden Sie in Abschnitt 3.10.6 des JLS.
Es ist auch erwähnenswert, dass Sie beliebige Unicode-Zeichen in Ihren Quellcode einfügen können, indem Sie Unicode-Escape-Sequenzen der Form "\ uxxxx" verwenden, wobei die "x" hexadezimale Ziffern sind. Diese unterscheiden sich jedoch von normalen Zeichenfolgen- und Zeichen-Escapezeichen darin, dass Sie sie überall in einem Java-Programm verwenden können ... nicht nur in Zeichenfolgen- und Zeichenliteralen. Weitere Informationen zur Verwendung von Unicode im Java-Quellcode finden Sie in den JLS-Abschnitten 3.1 , 3.2 und 3.3 .
Siehe auch:
Das Oracle Java Tutorial: Zahlen und Zeichenfolgen - Zeichen
http://stackoverflow.com/questions/3034186/in-java-is-there-a-way-to-write-a-string-literal-without-having-to-escape-quote (Antwort: Nein)
Entkomme doppelte Anführungszeichen in deiner Zeichenfolge: "\"Hello\""
Mehr zum Thema (siehe Teil 'Escape Sequences')
Sie können dies auch mit einem Unicode-Zeichen tun
System.out.print('\u0022' + "Hello" + '\u0022');
\"Hello\"
ist es nicht wirklich lesbar.
Das Hinzufügen der tatsächlichen Anführungszeichen ist nur ein winziger Bruchteil des Problems. Sobald Sie dies getan haben, werden Sie wahrscheinlich vor dem eigentlichen Problem stehen: Was passiert, wenn die Zeichenfolge bereits Anführungszeichen, Zeilenvorschübe oder andere nicht druckbare Zeichen enthält?
Die folgende Methode kümmert sich um alles:
public static String escapeForJava( String value, boolean quote )
{
StringBuilder builder = new StringBuilder();
if( quote )
builder.append( "\"" );
for( char c : value.toCharArray() )
{
if( c == '\'' )
builder.append( "\\'" );
else if ( c == '\"' )
builder.append( "\\\"" );
else if( c == '\r' )
builder.append( "\\r" );
else if( c == '\n' )
builder.append( "\\n" );
else if( c == '\t' )
builder.append( "\\t" );
else if( c < 32 || c >= 127 )
builder.append( String.format( "\\u%04x", (int)c ) );
else
builder.append( c );
}
if( quote )
builder.append( "\"" );
return builder.toString();
}
PreparedStatement
, die URL
und URI
Konstruktoren.
Es gibt zwei einfache Methoden:
\
vor doppelten Anführungszeichen.''
anstelle von"
Zum Beispiel:
System.out.println("\"Hello\"");
System.out.println("''Hello''");
Beachten Sie, dass beim Ausführen von Backslashes mit bestimmten Zeichen einige bestimmte Dinge zu beachten sind.
System.out.println("Hello\\\");
Die obige Ausgabe lautet:
Hallo\
System.out.println(" Hello\" ");
Die obige Ausgabe lautet:
Hallo"