Это спорно, следует ли использовать строку или использовать Char [] для этой цели, потому что оба имеют свои преимущества и недостатки. Это зависит от того, что нужно пользователю.
Поскольку строки в Java являются неизменяемыми, всякий раз, когда кто-то пытается манипулировать вашей строкой, он создает новый объект, и существующая строка остается неизменной. Это можно рассматривать как преимущество для хранения пароля в виде строки, но объект остается в памяти даже после использования. Так что, если кто-то каким-то образом обнаружил местоположение объекта в памяти, он может легко отследить ваш пароль, хранящийся в этом месте.
Char [] является изменяемым, но имеет то преимущество, что после его использования программист может явно очистить массив или переопределить значения. Поэтому, когда он используется, он очищается, и никто никогда не узнает о сохраненной вами информации.
Исходя из вышеизложенных обстоятельств, можно получить представление о том, использовать ли String или Char [] для их требований.