Ciąg znaków replaceAll () i znaki ucieczki

Linia

System.out.println("\\");

drukuje pojedynczy ukośnik (\). I

System.out.println("\\\\");

drukuje podwójne ukośniki (\\). Zrozumiany!

Ale dlaczego w następującym kodzie:

class ReplaceTest
{
    public static void main(String[] args)
    {
        String s = "hello.world";
        s = s.replaceAll("\\.", "\\\\");
        System.out.println(s);
    }
}

jest wyjście:

hello\world

zamiast

hello\\world

W końcureplaceAll() metoda zastępuje kropkę (\\.) z (\\\\).

Czy ktoś może to wyjaśnić?

questionAnswers(7)

yourAnswerToTheQuestion