Java 当我';我在读共享参考资料?
我正在从SharedReferences向onCreate中的arraylist添加项,但在执行此操作之前是否需要初始化arraylistJava 当我';我在读共享参考资料?,java,android,arraylist,sharedpreferences,Java,Android,Arraylist,Sharedpreferences,我正在从SharedReferences向onCreate中的arraylist添加项,但在执行此操作之前是否需要初始化arraylist private ArrayList<Song> songList = null; //Initialize mSharedPreferences storageUtil = new StorageUtil(this); //Load values from mSharedPreferences songList = storageUtil.g
private ArrayList<Song> songList = null;
//Initialize mSharedPreferences
storageUtil = new StorageUtil(this);
//Load values from mSharedPreferences
songList = storageUtil.getRecentPlayed();
private ArrayList songList=null;
//初始化mSharedPreferences
storageUtil=新的storageUtil(此);
//从mSharedPreferences加载值
songList=storageUtil.getRecentPlayed();
还是这样做
private ArrayList<Song> songList = null;
songList = new ArrayList<>();
//Initialize mSharedPreferences
storageUtil = new StorageUtil(this);
//Load values from mSharedPreferences
songList = storageUtil.getRecentPlayed();
private ArrayList songList=null;
songList=newarraylist();
//初始化mSharedPreferences
storageUtil=新的storageUtil(此);
//从mSharedPreferences加载值
songList=storageUtil.getRecentPlayed();
第一个可以正常工作,并在日志中显示我的项目。如果
storageUtil.getRecentPlay()
返回一个ArrayList
(我相信它会返回),那么您可以简单地将它应用到变量,因为该方法已经初始化了ArrayList
之前不需要初始化ArrayList
很抱歉,我的回答很简短,我正在手机上键入如果
storageUtil.getRecentPlayed()
返回一个ArrayList
(我相信它是这样的),那么您只需将它应用到变量,因为该方法已经初始化了ArrayList
之前不需要初始化ArrayList
很抱歉,我的回答太短了,我在手机上键入了否。
songList
变量值完全被songList=storageUtil.getrecentplay()替换代码>。如果首先将值扔进垃圾收集器,则不需要初始化该值。事实上,即使最初将其设置为null
,也没有任何作用。您的代码应该是:
storageUtil = new StorageUtil(this);
private ArrayList<Song> songList = storageUtil.getRecentPlayed();
storageUtil=新的storageUtil(此);
private ArrayList songList=storageUtil.getRecentPlayed();
否。songList
变量值完全替换为songList=storageUtil.getrecentplay()代码>。如果首先将值扔进垃圾收集器,则不需要初始化该值。事实上,即使最初将其设置为null
,也没有任何作用。您的代码应该是:
storageUtil = new StorageUtil(this);
private ArrayList<Song> songList = storageUtil.getRecentPlayed();
storageUtil=新的storageUtil(此);
private ArrayList songList=storageUtil.getRecentPlayed();
在您的情况下,getRecentlyPlayed()
是一个getter
。它返回类的属性,而不直接公开属性本身。因此,storageUtil
将被getRecentlyPlayed()
中的值替换,从而对其进行初始化。在您的情况下,getRecentlyPlayed()
是一个getter
。它返回类的属性,而不直接公开属性本身。因此,storageUtil
将被getRecentlyPlayed()
中的值替换,从而初始化它