本文转载自:码农必备干活:Java编码——高效代码汇总小技巧
一. 常量&变量
1.1 当成员变量值无需改变时,尽量定义为静态常量
在类的每个对象实例中,每个成员变量都有一份副本,而成员静态常量只有一份实例。
反例
public class HttpConnection {
private final long timeout = 5L;
...
}
正例
public class HttpConnection {
private static final long TIMEOUT = 5L;
...
}
1.2 尽量使用基本数据类型,避免自动装箱和拆箱
Java 中的基本数据类型double、float、long、int、short、char、boolean,分别对应包装类Double、Float、Long、Integer、Short、Character、Boolean。 JVM支持基本类型与对应包装类的自动转换,被称为自动装箱和拆箱。装箱和拆箱都是需要CPU和内存资源的,所以应尽量避免使用自动装箱和拆箱。
反例
Integer sum = 0;
int[] values = ...;
for (int value : values) {
sum += value; // 相当于result = Integer.valueOf(result.intValue() + value);
}
正例
int sum = 0;
int[] values = ...;
for (int value : values) {
sum += value;
}
1.3 如果变量的初值会被覆盖,就没有必要给变量赋初值
反例
List<UserDO> userList = new ArrayList<>();
if (isAll) {
userList = userDAO.queryAll();
} else {
userList = userDAO.queryActive();
}
正例
List<UserDO> u