/** get the first instance of MyClass ,how to do it? */pulbic MyClass
{
  public List getList()
  {
      ...
  }
  pulbic MyClass getFirstInstance()
  {
      List list=new ArrayList();
      ______
  }
}please finish the code~ Thank you~~Help me,guys~

解决方案 »

  1.   

    pulbic MyClass ??? class 哪儿去了?实例化 getList() 这个方法里面 写一个return  List的内容getFirstInstance()里面 写  this.getList(); return this;
    OK
      

  2.   

    楼上的兄弟好像不对哦
    this.getList() 写完这个有什么含义呢? 
      

  3.   


    pulbic MyClass 

      List list=null;  public List getList() 
      { 
          return new ArrayList(); 
      }   pulbic MyClass getFirstInstance() 
      { 
          if (list == null) list.add(new MyClass());
          return list.get(0);
      } 
      

  4.   

    ??
    除了单例可以取到第一个(也只会有一个),还有什么办法能保证取到就是第一个?
    List list=new ArrayList(); 有什么用?
    能说清楚点吗?
      

  5.   

    很不好意思  具体我也忘了 大家提供个思路   谢谢大家补充:涉及到 Iterate List MyClass 
        好像是把MyClass 对象都存储在了一个List结构中,要求获取到first instance of MyClass 
      

  6.   

    如果是“get the first instance of MyClass”就用单例
    如果是“get the first element in the list”就在空白那里填list.get(0);
    如果都不是上面就请lz回忆一下,免得不晓得题目什么意思
      

  7.   

        if (list == null) list.add(new MyClass());
    这里显然会报空指针异常的。
        if (list == null){ 
          list = new ArrayList();
          list.add(new MyClass());
        }
      

  8.   

    public class Myclass {
    private static Myclass instance;

    private Myclass(){
    }

    public static Myclass getInstance(){
    if(instance == null){
    instance = new Myclass();
    }

    return instance;
    }
    }
    单例模式获取
      

  9.   


    回  不是  singleton
      

  10.   

    LZ现在确定了题目需要的是Singleton吗?
    其实绝对不会出问题的singleton好像是没有的,但如果不是跨JVM的就不会有问题
    给你个常用的singletonpublic class Singleton { private static Singleton instance = new Singleton();

    private Singleton() {}

    public static Singleton getInstance() {
    return instance;
    }
    }还有几个public class Singleton { private static Singleton instance;

    private Singleton() {}

    public static Singleton getInstance() {
    if(instance == null) {
    synchronized (Singleton.class) {
    if(instance == null) {
    instance = new Singleton();
    }
    }
    }
    return instance;
    }
    }
    下面这个我也不是很懂,好像是Google的Bob Lee提出的public class Singleton {
    static class SingletonHolder {
    static Singleton _instance = new Singleton();
    } public static Singleton getInstance() {
    return SingletonHolder._instance;
    }
    }还有一个效率不高的,不常用吧,因为每次getInstance()都要同步!!public class Singleton { private static Singleton instance; public static synchronized Singleton getInstance() {
    if (instance == null) {
    instance = new Singleton();
    }
    return instance;
    }
    }
    希望对你有帮助
      

  11.   

    get the first instance...?? hmm.... i guess it might be like this:
    import java.util.*;
    public class MyClass {
      private static List<MyClass> instances = new ArrayList<MyClass>();
      public MyClass() {
        instances.add(this);
      }
      public static List<MyClass> getList() {
        return instances;
      }
      public static MyClass getFirstInstance() {
        if (instances.size()>0)
          return instances.get(0);
        return null;
      }
    }
    hope it helps.
      

  12.   

    pulbic MyClass getFirstInstance(){ 
        List list=new ArrayList();
        
        list = getList();
        
        if(list != null && list.size>0)
            return (MyClass)list.iterator().next();
        else
            return null;

      

  13.   


    pulbic   MyClass   getFirstInstance(){  
            List   list=new   ArrayList();
           
            list   =   getList();
           
            if(list.size()> 0)
                    return   (MyClass)list.iterator().next();
            else
                    return   null;
    }   
      

  14.   

    class MyClass{
        private static List pool = null;
        public static MyClass getFirstInstance(){
            if(null == pool){
                pool = new ArrayList();
                pool.add(new MyClass());
            }else if(pool.size>0){
                return (MyClass)pool.get(0);
            }
        }
    }
      

  15.   

    class MyClass{
        private static List pool = null;
        public static MyClass getFirstInstance(){
            if(null == pool || pool.size()<1){
                pool = new ArrayList();
                pool.add(new MyClass());
                return pool.get(0);
            }else{
                return (MyClass)pool.get(0);
            }
        }
    }
      

  16.   

    o  是得 static 类型的,作用域应该是整个类而非对象~
      

  17.   


    import java.util.*;
    public class MyClass {
      private static List<MyClass> instances = new ArrayList<MyClass>();
      public MyClass() {
        instances.add(this);
      }
      public static List<MyClass> getList() {
        return instances;
      }
      public static MyClass getFirstInstance() {
        if (instances.size()>0)
          return instances.iterator().next();
        return null;
      }
    }