使用静态代码块解决避免创建多个相同功能对象

来源:互联网 发布:广州新科佳都科技 知乎 编辑:程序博客网 时间:2024/05/21 02:53

在android开发中,为了使性能提高,尽量避免创建多个相同功能的对象。比如使用Calendar对象:
有些人不注意会这么写:

public class TimeUtil {    public static int getIntMinust() {    Calendar mCalendar = Calendar.getInstance();        return mCalendar.get(Calendar.MINUTE);    }    public static int getYear() {        Calendar mCalendar = Calendar.getInstance();        return mCalendar.get(Calendar.YEAR);    }    public static int getMonth() {        Calendar mCalendar = Calendar.getInstance();        return mCalendar.get(Calendar.MONTH);    }}

在Effective java里使用静态代码块:

public class TimeUtil {    private static final Calendar mCalendar;    static {        mCalendar = Calendar.getInstance();    }    public static int getIntMinust() {        return mCalendar.get(Calendar.MINUTE);    }    public static int getYear() {        return mCalendar.get(Calendar.YEAR);    }    public static int getMonth() {       return mCalendar.get(Calendar.MONTH);    }}

当然也可以酱紫:
private static final Calendar mCalendar= Calendar.getInstance();

0 0
原创粉丝点击