打字猴:1.700451919e+09
1700451919
1700451920 return cns[num];
1700451921
1700451922 }
1700451923
1700451924 每次调用该方法时都会重新生成一个cns数组,注意该数组不会改变,属于不变数组,在这种情况下,把它声明为类变量,并且加上final static修饰会更合适,在类加载后就生成了该数组,每次方法调用则不再重新生成数组对象了,这有助于提高系统性能,代码如下。
1700451925
1700451926 //声明为类变量
1700451927
1700451928 final static String[]cns={“零”,“壹”,“贰”,“叁”,“肆”,“伍”,“陆”,“柒”,“捌”,“玖”};
1700451929
1700451930 public String toChineseNum(int num){
1700451931
1700451932 return cns[num];
1700451933
1700451934 }
1700451935
1700451936 (3)缩小变量的作用范围
1700451937
1700451938 关于变量,能定义在方法内的就定义在方法内,能定义在一个循环体内的就定义在循环体内,能放置在一个try……catch块内的就放置在该块内,其目的是加快GC的回收。
1700451939
1700451940 (4)频繁字符串操作使用StringBuilder或StringBuffer
1700451941
1700451942 虽然String的联接操作(“+”号)已经做了很多优化,但在大量的追加操作上StringBuilder或StringBuffer还是比“+”号的性能好很多,例如这样的代码:
1700451943
1700451944 String str=“Log file is ready……”;
1700451945
1700451946 for(int i=0;i<max;i++){
1700451947
1700451948 //此处生成三个对象
1700451949
1700451950 str+=“log”+i;
1700451951
1700451952 }
1700451953
1700451954 应该修改为:
1700451955
1700451956 StringBuilder sb=new StringBuilder(20000);
1700451957
1700451958 sb.append(“Log file is ready……”);
1700451959
1700451960 for(int i=0;i<max;i++){
1700451961
1700451962 sb.append(“log”+i);
1700451963
1700451964 }
1700451965
1700451966 String log=sb.toString();
1700451967
1700451968 (5)使用非线性检索
[ 上一页 ]  [ :1.700451919e+09 ]  [ 下一页 ]