This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
Shouldn't the question in an Object Oriented language be "Is there any valid reason why byte, long, float, double, int, short and char are primitive types?" but back to your question, if String was a primitive, it wouldn't be able to have any methods ( because primitives can't have methods! ). So if you remove all the methods, and supporting class functionality, what are you left with? char ! which is a primitive array! actually, I don't think that's the real reason, but I digress Jamie