В общем , ЧТО ПОНЯЛ( Но это не точно) - for (String word : string.split("\\b")) - значит эта кусочек кода разделяет строку на подстроки , вроде как бы понимаю что \b находит границы слов до пробела(если это не так то объясните , как). Дальше , word.substring(0, 1).toUpperCase() - берем слово и у него берем 1-ую букву и переводим ее в верхний регистр. что НЕ понял - зачем перед \b еще одни \ , я как бы увидел разницу что с 1 слешем только 1-ое слово с большой буквы , а с 2-мя все слова но почему так(объясните простым языком , просто я вроде нашел ответ но какой то супер замудренный) , И теперь главное что совсем не понятно -concat(word.substring(1))); конкат если я не ошибаюсь мы просто прилепляет или соединяет строки но что внутри него делает substring(1) - это слово или буква , в общем тут как в тумане ...