Let's say I have a string array. In Arrays, we cannot add or remove an element without first changing the size of the array itself. We can update the element of the array but Strings are immutable. So we actually will be having a new Object.
Now in the case of Immutable Lists, the same goes, one cannot modify the list itself. We can however modify the objects of the list.
How are these two different then. When should we prefer an immutable list with Strings.
You should prefer an immutable list with strings when you require the values to not change. Strings are immutable objects like you said so you can't change the string values in an immutable list. If the immutable list contained mutable objects then the values in the mutable objects could be changed regardless if you use immutable list or an array.