JAVA编码规范一些不是很多的点

格式

  1. //建议下面这样写
    boolean isComeFromChina = obj != null && (obj.get… == … || …) && (… || … & …);
    if(isComeFromChina ) {…}

  2. 方法参数在定义和传入时,多个参数逗号后边必须加空格
    method(“a”, “b”, “c”);

  3. 在if/else/for/while/do语句中必须使用大括号,即使只有一行代码

OOP规约

  1. 所有的相同类型的包装类对象(Integer/Long/Float…)之间值的比较,全部使用equals方法比较。

    Integer i = 128 –> Integer.valueOf() 源码显示-128到127的值会到方法区,其他值会在堆上创建

    Integer与int比较会自动拆包

  2. 当一个方法调用同样可以使用常量来调用时尽量使用常量来调用方法,可以编码NPE问题,典型的equals方法和一些判断方法

    //推荐这样写

String str ..

if(“123”.equals(str))

  1. 使用索引访问用String的split方法得到的数组时,需做最后一个分隔符后有无内容的检查,否则会有抛IndexOutOfBoundsException的风险

String str = “a,b,c,,”;

String[] ary = str.split(“,”);

//预期5,结果是3

System.out.println(ary.length);

异常

1.以下几种情况一定要有finally块释放操作

?try块中申请了资源对象、流对象必须在finally中进行资源释放,java7建议使用try-with-resources方式

?try中使用J.U.C中Lock时必须在finally块中release锁

2.不能在finally块中使用return,finally块中的return返回后方法结束执行,不会再执行try块中的return语句

集合

  1. ArrayList的subList结果不可强转成ArrayList,否则会抛出ClassCastException异常

    subList返回的是内部类

2.使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException异常

还是内部类问题
  1. 泛型通配符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值