Як я можу зробити друк на Java "Hello"
?
Коли я набираю, System.out.print("Hello");
результат буде Hello
. Що я шукаю, це "Hello"
з лапками ( ""
).
Як я можу зробити друк на Java "Hello"
?
Коли я набираю, System.out.print("Hello");
результат буде Hello
. Що я шукаю, це "Hello"
з лапками ( ""
).
Відповіді:
System.out.print("\"Hello\"");
Символ подвійних лапок потрібно уникнути зворотною рискою рискою у літералі рядка Java. Інші персонажі, які потребують особливого ставлення, включають:
"\r"
і"\n"
"\\\\"
"\'"
"\t"
і"\f"
Повний список екранувань рядків і символів літералу Java можна знайти в розділі 3.10.6 JLS.
Варто також зазначити, що ви можете включити довільний символ Unicode у свій вихідний код, використовуючи захисні послідовності Unicode у формі "\ uxxxx", де "x" - шістнадцяткові цифри. Однак вони відрізняються від звичайних рядок та символів, тим, що ви можете використовувати їх де завгодно в програмі Java ... не тільки в рядках та символах; див. розділи 3.1 , 3.2 та 3.3 JLS , щоб отримати докладні відомості про використання Unicode у вихідному коді Java.
Дивитися також:
Підручник з Oracle Java: Числа та рядки - символи
http://stackoverflow.com/questions/3034186/in-java-is-there-a-way-to-write-a-string-literal-without-having-to-escape-quote (відповідь: ні)
Уникайте подвійних лапок у вашому рядку: "\"Hello\""
Докладніше про тему (позначте частину "Escape Sequences")
Ви можете зробити це за допомогою символу Unicode
System.out.print('\u0022' + "Hello" + '\u0022');
\"Hello\"
це насправді не читається.
System.out.println("\"Hello\"");
Додавання фактичних символів лапок - це лише незначна частина проблеми; як тільки ви це зробите, ви, швидше за все, зіткнетесь із справжньою проблемою: що станеться, якщо рядок уже містить лапки, канали рядків або інші недруковані символи?
Про все подбає такий спосіб:
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
, конструктори URL
та URI
.
Є два простих методи:
\
перед подвійними лапками.''
замість"
Наприклад:
System.out.println("\"Hello\"");
System.out.println("''Hello''");
Зверніть увагу, є кілька речей, на які слід звернути увагу під час запуску зворотних скісних рисок з певними символами.
System.out.println("Hello\\\");
Результатом буде:
Здрастуйте\
System.out.println(" Hello\" ");
Результатом буде:
Здрастуйте"