zoukankan      html  css  js  c++  java
  • 《疯狂JAVA讲义》缓存实例的不可变类

    class CacheImmutale
    {
        private static int MAX_SIZE =10;
        private static CacheImmutale[] cache
            =new CacheImmutale[MAX_SIZE];
        private static int pos=0;
        private final String name;
        private CacheImmutale(String name){
            this.name=name;
        }
        public String getName(){
            return name;
        }
        public static CacheImmutale valueOf(String name){
            for(int i=0;i<MAX_SIZE;i++){
                if(cache[i]!=null&&cache[i].getName().equals(name)){
                    return cache[i];
                }
            }
            if(pos== MAX_SIZE){
                cache[0]=new CacheImmutale(name);
                pos=1;
            }
            else {
                cache[pos++]=new CacheImmutale(name);
            }
            return cache[pos-1];
        }
        public boolean equals(Object obj){
            if(this == obj){
                return true;
            }
            if(obj!=null && obj.getClass()==CacheImmutale.class){
                CacheImmutale ci=(CacheImmutale)obj;
                return name.equals(ci.getName());
            }
            return false;
        }
        public int hashCode(){
            return name.hashCode();
        }
    }
    public class CacheImmutaleTest
    {
        public static void main(String[] args){
            CacheImmutale c1=CacheImmutale.valueOf("Hello");
            CacheImmutale c2=CacheImmutale.valueOf("Hello");
            System.out.println(c1==c2);
        }
    }
  • 相关阅读:
    优酷视频下载,优酷真实地址解析
    vim配置入门,到豪华版vim配置
    python字典实现三级菜单
    python 购物车
    来到博客园的第一天
    python urllib模块使用详解
    ubutun升级命令
    SQL注入笔记
    Ajax_showHint() 函数
    轮播图中遇到的问题
  • 原文地址:https://www.cnblogs.com/whutqueqiaoxian/p/5711412.html
Copyright © 2011-2022 走看看