\
является escape-символом.Вы в основном избегаете |
, который вообще не нужно избегать.Если вы хотите представить \
в String, то вам нужно позволить ему экранировать себя.
private String chars = " `~1!2@3#4$5%6^7&8*9(0)-_=+qQwWeErRtTyYuUiIoOpP[{]}\\|aAsSdDfFgGhHjJkKlL;:'\"zZxXcCvVbBnNmM,<.>/?";
Обратите внимание, что "
действительно необходимо экранировать, иначезначение строки заканчивается слишком рано, и код все равно не будет компилироваться из-за всех нечетных символов после этого.