java高级编程思想:枚举单例



废话不多说,直接粘我的项目代码。


public enum VolleyManager {
    INSTANCE;
    private RequestQueue mRequestQueue=null;

    public void initQueue(){
        if(null == mRequestQueue){
            mRequestQueue= Volley.newRequestQueue(MyApplication.mAPPContext);
        }
    }

    public void addQueue(Request request){
        mRequestQueue.add(request);
    }

    public void stopRequest(Object tag) {
        if (tag != null)
            mRequestQueue.cancelAll(tag);
    }
}


然后引用的时候:

VolleyManager.INSTANCE.addQueue(request);

而且是线程安全的,

即使使用反射机制也无法多次实例化一个枚举量
 
  
取自:Java高效编程指南


你可能感兴趣的:(java高级编程思想:枚举单例)