日期:2014-05-20  浏览次数:20807 次

大家晒下java开发代码的小技巧啊![整理贴]
这是我根据大家的宝贵意见和我以前收藏的一些,整理的Java开发建议,有不全的地方请大家海涵。
(1) 使用Integer.valueOf()代替new Integer();
(2) if (result.size() > 0) return true;
  return false;
  可以优化为return return result.size()>0  
(3) 使用"const".eqauls(variable)代替 variable.eqauls("const") 避免null point exception
(4) 在使用字串的拼接的时候,建议使用StringBuffer代替String
(5) 在进行数据库操作的时候用PreparedStatement代替Statement,可以避免因为引号过多而引起的错误
(6) 在进行复杂查询语句的拼接的时候,建议加上"where 1=1",当然在不考虑数据库的性能.
(7)try{}catch(Exception e){} finally{if(conn!=null){conn.colse();conn==null}}在使用数据库操作的
时候尽量多用finally语句,进行资源的释放。
(8) 在进行多异常捕获的时候,最后建议加上Exception异常做没有考虑到的异常捕获,比如
try{}catch(OtherException e){}catch(Exception e){} finally{if(conn!=null){conn.colse();conn==null}}
(9) 给每个if(condition){}都加上大括号,即使里面只有一句话,加强程序的可读性
(10)能用常量的东西都要用常量来完成,避免使用硬编码,增加可维护性质。比如少用 String str = "123"
使用private static final CONST = "123" ; String str = CONST;
(11) 定义的静态的常量用全大写,方法名开头用小写,类名用大写。在bean中定义的变量名用小写,并且所有的名字
命名要体现出业务的特性。呵呵,这里说到了规范。。。
(12) 多看看Apache下的一些Utils包吧!方便实用,必备工具!
(13) 可以用for(int i= 100;i>0;i--;)去代替for(int i = 0;i <100;i++) 这样可以提高程序的运行速度
(14) 写注释有助于写出逻辑清晰的代码
(15) 用字符分隔多字符串时,为了防止字符串中有设定的分隔符,我采用如下字符进行分隔 (c#的,JAVA也差不多) 
char char2 = '\x0012'; string strreg = ""; strreg += char2;

------解决方案--------------------
探讨
(13) 可以用for(int i= 100;i>0;i--;)去代替for(int i = 0;i <100;i++) 这样可以提高程序的运行速度
不解中。。。请问楼主这个是为什么呢?

------解决方案--------------------
探讨
(13) 可以用for(int i= 100;i>0;i--;)去代替for(int i = 0;i <100;i++) 这样可以提高程序的运行速度
不解中。。。请问楼主这个是为什么呢?

------解决方案--------------------
13这个可以具体举例说明,如下java代码:
Java code

public void test1(){
        for(int i = 0;i<100;i++){
        }
    }
    
    public void test2(){
        for(int i =100;i>0;i--){
        
        }
    }

------解决方案--------------------
跑跑看 有区别吗
Java code

    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        Date d1 = new Date();

        for (int i = 10000000; i > 0; i--) {
            sb.append(".");
        }
        Date d2 = new Date();
        System.out.println(d2.getTime() - d1.getTime());
    }