总结
1.少用八进制,以及二进制。
那么就是直接用16进制或10进制吗?额,想当年有这样搞过,后面就uuid了。
2.>>>用0填充高位>>用符号位填充高位<<<不存在
冷知识吧,也就当年校招见过人问过
3.java没有多维数组,只有一维数组
我们所说的二维数组,本质上是数组的数组
4.编译多个名字差不多的文件
如 AbcController和AbcService两个文件,javac Abc*.java 即可一次性编译两个
5.比较是不是同一个类 用equals而不是instanceof
因为子类instanceof也报true
Objects.equals(a,b);
a instanceof b;
6.list代替数组
7.这书就是各种带图片小标题,警告注意重点*n的,还不如给个标题号啊。同样是基础书,我偏向think in java 。
8.异常处理
一.异常处理不能顶替简单的测试。就是不要随便利用异常进行业务代码,其实这个在其他语言里面很经常在具体的异常里面进行相应的业务操作。
二.不要过分细分异常。很近的几个异常可以放到同一个try里面
错误例子
try(){
a
}catch(){
}
try(){
b
}catch(){
}
正确例子
try(){
a
b
}catch(){
}catch(){
}
三.利用异常的层次结构。几个异常若异常处理一致,通常是log,可以用父类包含
错误例子
try(){
a
b
}catch(aException ){
}catch(bException){
}
正确例子,aException bException,是cException的子类
try(){
a
b
}catch(cException ){
}
四。不要压制异常。不要用太大的异常父类处理,导致其他的异常都被拦截了,无法具体异常具体处理。
错误例子
try(){
a
b
}catch(Exception ){
}
正确例子,cException是Exception的子类
try(){
a
b
}catch(cException ){
}
五.检查错误苛待比放任好。就是宁愿写成二的那种正确例子,也不写成四的正确例子,因为大多数人都是写成四的错误例子。
六.不要羞于处理异常。就是一个程序员素质的问题,没什么好说的。
9.断言,有点想深入了解,但是和think in java 里面都是说了几句。看来断言的实际使用真的很少,而且个人观感也是if,try,log等就可以代替,并且这三种的使用很频繁。
10.集合和数据之间的转换
String[] values = new String[]{"a","b","a"};
HashSet set = new HashSet(Arrays.asList(values));
String[] values2 =(String[]) set.toArray();//error
String[] values3 = (String[]) set.toArray(new String[0]);
可以做到简单去重,这段代码只是开了个头,后续的相信大家都能自己补充。
11.编写代码是,若参数是集合,应尽可能使用接口。好处匹配的类跟多,不同类型传进来不需要特意转。
12.xml,这些的文件解析java有自带的功能实现啊,但是考虑到文档的可读性,,,我还是选择第三方的,因为他们的文档接地气啊...
13.执行sql语句的防注入,其实就是select * from emp where name = ?和select * from emp where name =maozhedong的区别,这算是一种代码规范了,我都是默认第一种的