Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Singleton类初始化/访问ArrayList_Java_Android_Arraylist_Singleton - Fatal编程技术网

Java 使用Singleton类初始化/访问ArrayList

Java 使用Singleton类初始化/访问ArrayList,java,android,arraylist,singleton,Java,Android,Arraylist,Singleton,我正在应用程序中使用ArrayList 我想知道从单例类初始化ArrayList的确切过程。 这些数据将用于其他一些活动 有人能帮忙了解一下Singleton类吗?请查看以下维基百科: 但请记住,单例是“全局状态”,这会使您的源代码更难测试。有很多人说:“单身是邪恶的”我想你需要这样的东西 public class SingletonClass { private static ArrayList<String> strArray; private static

我正在应用程序中使用ArrayList

我想知道从单例类初始化ArrayList的确切过程。
这些数据将用于其他一些活动


有人能帮忙了解一下Singleton类吗?

请查看以下维基百科:


但请记住,单例是“全局状态”,这会使您的源代码更难测试。有很多人说:“单身是邪恶的”

我想你需要这样的东西

public class SingletonClass {

    private static ArrayList<String> strArray;
    private static SingletonClass singleton;

    private SingletonClass(){}

    public static synchronized SingletonClass getConnectionInstance(ArrayList<String> strArray){        
        if (singleton == null) {
             singleton = new SingletonClass();
        }
        this.strArray = strArray;
        return singleton;
    }
}
public类SingletonClass{
私有静态数组列表strArray;
私有静态单例类单例;
私有单例类(){}
公共静态同步单例类getConnectionInstance(ArrayList strArray){
if(singleton==null){
singleton=新的SingletonClass();
}
this.strArray=strArray;
返回单身;
}
}

以下是如何创建singleton类:

    public class YourSingleton  {  

        private static YourSingleton mInstance;
        private ArrayList<String> list = null;

        public static YourSingleton getInstance() {
            if(mInstance == null)
                mInstance = new YourSingleton();

            return mInstance;
        }

        private YourSingleton() {
          list = new ArrayList<String>();
        }
        // retrieve array from anywhere
        public ArrayList<String> getArray() {
         return this.list;
        }
        //Add element to array
        public void addToArray(String value) {
         list.add(value);
        }
}
要将元素添加到数组,请使用:

 YourSingleton.getInstance().addToArray("first value"); 


谢谢@Anto..还有一件事是我能在同一个单例类中使用多个arraylist吗?是的,你能,并创建不同的方法来调用正确的数组。在这个例子中,你有getArray()。你能创建getFirstArray(),getSecondArray()等等…只需在类声明中添加你的others数组,并在构造函数中初始化它们,就像我在“list”中做的一样。我有一个想法…非常好you@AntoLemme checkout并让你知道如何从singleton类设置列表中的数据编辑我的帖子,你需要创建一个会影响arrayPlease的方法,添加一些代码并进一步解释hel让我们了解这个问题。你做了哪些努力
 YourSingleton.getInstance().addToArray("first value"); 
YourSingleton.getInstance().getArray().add("any value");