zoukankan      html  css  js  c++  java
  • 让静态对象来维护你的数据

    工作中希望将一些连续的对象数据保存在内存中,
    常用的方法是创建一个集合类(Collections),最常用的是ArrayList或者他的继承类。
    但是如果我们需要在多个对象中同时使用这个实例,就显得比较麻烦,
    因为我们不可能将他在实例化一遍,
    那么我们只能可以用它作为最初实例化此对象的一个属性来使用,是不是觉得很麻烦呢?
    好,那我介绍一种将其作为一个静态对象的存储方式。
    Example:https://files.cnblogs.com/wanghualiang/PersistentMemoryObject.rar
    首先,创建一个对象同时创建此对象的静态实例:
     public class PersistentObject
     {
      public static PersistentObject persistentObject = new PersistentObject();
             }
    创建一个ArrayList对象。
    public ArrayList classes = new ArrayList();
    建立操作集合的静态函数
    public static void AddClass(ParameterClass subclass)
      {
       persistentObject.classes.Add(subclass);
      }

      public static void PrintClass()
      {
       foreach (ParameterClass subclass in persistentObject.classes)
       {
        PrintParameterClass(subclass);

       }
      }

      public static ParameterClass GetClassByID(string ID)
      {
       foreach (ParameterClass subclass in persistentObject.classes)
       {
        if (subclass.ID.Equals(ID))
         return subclass;
       }
       return null;

      }

      public static bool WriteClassByID(string ID, string Field1)
      {
       foreach (ParameterClass subclass in persistentObject.classes)
       {
        if (subclass.ID.Equals(ID))
        {
         lock(subclass)
         subclass.Field1 = Field1;
         PrintParameterClass(subclass);
        
         return true;
        }
       }
       return false;

      }

      public static void PrintParameterClass(ParameterClass pc)
      {
       Debug.Write(pc.ID+"\t");
       Debug.Write(pc.Field1+"\t");
       Debug.Write(pc.Filed2+"\t");
       Debug.Write(pc.Field3+"\t");
       Debug.Write("\n");

      }
    OK!我们的静态持久对象就建立起来了.
    附表
    public class ParameterClass
     {
      public string ID;
      public string Field1;
      public string Filed2;
      public string Field3;

      public ParameterClass(string ID)
      {
       //
       // TODO: 在此处添加构造函数逻辑
       //
       this.ID = ID;
      }
     }

  • 相关阅读:
    java代码--Date类获取当前时间-格式化输出
    Eclipse快速生成do while if 等方法
    java不同包中protected修饰的属性和方法调用方法
    java中如果删除导入的jar包,工程出现叹号解决方案
    Best Reward HDU 3613(回文子串Manacher)
    Teacher YYF
    Period II
    How many
    String Problem
    Corporate Identity
  • 原文地址:https://www.cnblogs.com/wanghualiang/p/217822.html
Copyright © 2011-2022 走看看