通常来说从栈里面取出数据要比从堆里面取出数据速度来的快,第一种方法几乎全部用Java的字符串方法来实现的,现在尽量不去用这些方法来实现此功能.但是我测试了下运行时间,两者都是0,比较奇怪的事情... public class MyString2 { /** * 把一个字符串中的大写字母转换成小写,小写字母转换成大写 * 第二种方法 * @param s 传入的字符串 * @return 返回转换后的字符串 */ public static String StringChange(String s) { if(s.equals("")||s==null) return ""; StringBuilder sb=new StringBuilder(); int len=s.length(); char c; for (int i = 0; i < len; i++) { c=s.charAt(i); if(c>='a'&&c<='z'){ c=(char)(c-32); }else if(c>='A'&&c<='Z'){ c=(char)(c+32); } sb.append(c); } return sb.toString(); } public static void main(String[] args) { String s="I aM a STUDENt."; System.out.println(StringChange(s)); } }