Strings are data values that can have any length and contain any characters. The ability to manipulate strings in multiple ways is just as useful as the ability to manipulate I/O streams. There is the need to compare strings: is one string equal to, greater than, or less than another?
Strings are subject to logical operations like AND, OR, exclusive OR, and logical NOT. We need to concatenate and copy strings, reverse them, join them together and split them apart. When strings are numeric, there is the need to perform arithmetic operations on them or find their absolute value or convert them from binary to hex, and vice versa. All this and more can be accomplished using the String class of objects.