Незаконный побег Персонаж "\" - PullRequest
17 голосов
/ 06 июня 2011

Я хочу получить имя в конце ссылки, поэтому я сделал это

if( invName.substring(j,k).equals("\")){
                                 copyf=invName.substring(0,j);}

Eclipse сказал, что строковый литерал неправильно закрывается двойной кавычкой

Как я могусравнить строку с этим символом \?

Ответы [ 5 ]

23 голосов
/ 07 июня 2011

Символ '\' является специальным символом и должен быть экранирован при использовании как часть строки, например, "\". Вот пример сравнения строк с использованием символа '\':

if (invName.substring(j,k).equals("\\")) {...}

Вы также можете выполнить прямое сравнение символов, используя логику, подобную следующей:

if (invName.charAt(j) == '\\') {...}
11 голосов
/ 06 июня 2011

Используйте "\\" для экранирования символа \.

0 голосов
/ 02 ноября 2016

Вы можете использовать:

\\

Это нормально, например:

if (invName.substring(j,k).equals("\\")) {
    copyf=invName.substring(0,j);
}
0 голосов
/ 07 июня 2011

сделать два

"\\"

это потому что это экранирующий символ

0 голосов
/ 06 июня 2011

Я думаю ("\") может быть причиной проблемы, потому что \ является escape-символом.измените его на ("\\")

...