Традиційний рядок є незмінним об'єктом, тобто його символи не можуть бути змінені. однак, Послідовність символів є змінною, що означає, що її символи можна змінювати шляхом редагування представлень, які вона надає.
char є примітивним типом даних, тоді як String є класом у java. char представляє один символ, тоді як String може містити нуль або більше символів. Отже, String — це масив символів.
CharSequence є читабельна послідовність значень char. Цей інтерфейс забезпечує однорідний доступ лише для читання до багатьох різних типів послідовностей символів. Значення char представляє символ у базовій багатомовній площині (BMP) або сурогат. Додаткову інформацію див. у розділі Представлення символів Unicode.
Рядок — це набір символів, виражений як окремий тип даних. Масив символів — це набір даних символів у послідовному порядку. Функція діаграми може отримувати символи в рядку за певним індексом. Символи в масиві символів можна отримати так само, як і з будь-якої іншої мови.
Масиви символів пропонують кращу ефективність пам'яті оскільки вони не несуть додаткових витрат від вбудованих методів рядків. Рядки займають більше пам’яті завдяки додатковим метаданим і вимогам незмінності.
З char[] , оскільки це примітивні типи, з якими ми працюємо, ми можемо перезаписати масив будь-яким значенням, що означає, що ми можемо уникнути наявності конфіденційних даних у пам’яті після завершення їх обробки. Крім того, рядки в Java зарезервовані в спеціальній області пам’яті купи, яка називається String Constant Pool.
У C, char* означає покажчик на символ. Рядки — це масив символів, усунений нульовим символом у C.