Removing unnecessary boxing
Removing unnecessary local before return
Removed unnecessary case change (just use ignore case)
Various fixes (redundant variables, improved iteration etc)
String.indexOf(char) is faster than String.indexOf(String)
Applied String.contains() for better semantics