- 当switch括号参数变量类型String,并且此变量为外部参数时,必须先进行null判断
public static void main(String[] args){
method(null);
}
public static void method(String param) {
switch (param) {
// 肯定不是进入这里
case "sth":
System.out.println("it's sth");
break;
// 也不是进入这里
case "null":
System.out.println("it's null");
break;
// 也不是进入这里
default:
System.out.println("default");
}
}
说明:代码运行报错空指针异常
高并发中,避免使用“==”判断作为中断或退出条件。
说明:如果并发控制没处理好,容易产生等值判断被“击穿”问题,使用大于、小于的区间判断条件。循环体的语句操作,尽量移至外面。比如定义对象、变量、连接数据库,不必要的try-catch操作不要在条件判断中执行其他复杂语句,将复杂逻辑判断结果赋值给一个有意义的boolean变量名
finall boolean existed = (file.open(fileName,"w")!=null) && (...) || (...)
- 接口入参保护,场景用户批量操作
反例:某系统提供对外批量查询的接口,如果传入1000个id,内存爆了。