Recently at work I saw a request to change an interface signature for a method dealing with passwords from String to char[] for Java apps.
That made very little sense to me (as a newbie Java developer) - in C, it was always backwards, with finite length char[] arrays being the source of buffer overflow security issues. Why would String pose a security concern in Java (whereas char[] would not)?