Это разные типы.
char - один Unicode-символ, элемент строки.
Строка - множество символов. Как следствие, символы нужны как минимум для того, чтобы строки составлять, и соответственно с элементами строки так или иначе работать.
В твоём случае "ф"
- это строка из 1 символа 'ф'
.
Ты можешь проверить, что на какой-то позиции строки находится какой-то символ. В твоём случае "ф".charAt(0) == 'ф'
.
вообще в java строка это не массив символов