java高效代码
数据类型
1.取余数用偶判断:
code:System.out.println(num % 2 == 0 ? "偶数" : "奇数" );
2.精确小数计算用BigDecimal:
code:
3.int运算过程不会进行类型转换:
long num = 2147483647 + 1; // 运行结果为 -2147483648
long num = 2147483647L + 1; //正确代码
4.获取数据类型最值:
int类型最大值
int maxInt = Integer.MAX_VALUE;
int类型最小值
int minInt = Integer.MIN_VALUE;
long类型最大值
long maxLong = Long.MAX_VALUE;
long类型最小值
long minLong = Long.MIN_VALUE;
short类型最大值
short maxShort = Short.MAX_VALUE;
short类型最小值
short minShort = Short.MIN_VALUE;
5.提防包装类的null值
6.自动装箱和拆箱:
从基本类型-->包装类型是调用包装类型的valueOf()方法来进行转换
从包装类型-->基本类型是调用包装类型的intValue()方法来进行转换
7.一般情况优先选择基本数据类型,特殊框架如Hibernate中,推荐使用包装类型
面向对象
1.接口无实现;
2.静态变量一定要先声明后使用 ;
3.不要复写静态方法;使用类名调用静态方法:;
4.构造函数最大程度简化;
5.用代码块精炼代码;
6.使用匿名类的构造函数;
eg:
public class Test {
private Comparator<Test> comparator = new Comparator<Test>() {
{
System.out.println("其实我可以代替匿名类的构造函数");
}
@Override
public int compare(Test o1, Test o2) {
return 0;
}
};
}
7.工具类静态化;
8.避免对象的浅拷贝;
9.不主动进行垃圾回收。
数据类型
1.取余数用偶判断:
code:System.out.println(num % 2 == 0 ? "偶数" : "奇数" );
2.精确小数计算用BigDecimal:
code:
3.int运算过程不会进行类型转换:
long num = 2147483647 + 1; // 运行结果为 -2147483648
long num = 2147483647L + 1; //正确代码
4.获取数据类型最值:
int类型最大值
int maxInt = Integer.MAX_VALUE;
int类型最小值
int minInt = Integer.MIN_VALUE;
long类型最大值
long maxLong = Long.MAX_VALUE;
long类型最小值
long minLong = Long.MIN_VALUE;
short类型最大值
short maxShort = Short.MAX_VALUE;
short类型最小值
short minShort = Short.MIN_VALUE;
5.提防包装类的null值
6.自动装箱和拆箱:
从基本类型-->包装类型是调用包装类型的valueOf()方法来进行转换
从包装类型-->基本类型是调用包装类型的intValue()方法来进行转换
7.一般情况优先选择基本数据类型,特殊框架如Hibernate中,推荐使用包装类型
面向对象
1.接口无实现;
2.静态变量一定要先声明后使用 ;
3.不要复写静态方法;使用类名调用静态方法:;
4.构造函数最大程度简化;
5.用代码块精炼代码;
6.使用匿名类的构造函数;
eg:
public class Test {
private Comparator<Test> comparator = new Comparator<Test>() {
{
System.out.println("其实我可以代替匿名类的构造函数");
}
@Override
public int compare(Test o1, Test o2) {
return 0;
}
};
}
7.工具类静态化;
8.避免对象的浅拷贝;
9.不主动进行垃圾回收。