我有一个 json 文件。因此,我解析了 json 文件,并将所有值存储在ArrayList
. 现在,我想分享应用程序中所有类的值。那么,什么是推荐和有效的方法呢?
问问题
801 次
3 回答
2
单例模式。
只需为您的对象创建一个公共静态引用List
并从应用程序的任何部分访问它。只要您的应用程序还活着,它就可以访问。并且您可以手动取消分配它(通过将引用归零)。
public class SharedData {
public static List<Custom> jsonData;
}
并从您的应用程序的任何部分:
SharedData.jsonData = new ArrayList<Custom>();
并读取数据
Custom obj = SharedData.jsonData.get(0);
于 2013-07-03T18:31:12.170 回答
1
现在,我想分享应用程序中所有类的值。那么,什么是推荐和有效的方法呢?
假设您在上述问题中错过了介词“with”,并且还想在所有其他类中使用您的 Arraylist,您可能想要使用全局 Arraylist,这只不过是在新类中声明一个公共静态 Arraylist (我们称它为 GlobalState.java)。
/** GLobalState.java **/
public class GlobalState {
public static ArrayList<E> jsonGlobalArrayList;
}
如果需要,您可以使用 getter 和 setter。
现在,只要您在解析 json 文件后填充了您的数组列表,您就可以将您的数组列表分配给这个全局数组列表。
GlobalState.jsonGlobalArrayList = jsonArrayList;
每当我处理 json 值时,我就是这样做的。希望这可以帮助。
PS:请原谅我过于简化了这个解决方案,因为当我提到全局 ArrayList 时你可能已经理解了这一点。:)
于 2013-07-03T19:05:23.023 回答
0
public class Utilities { public static boolean boolVar = false ; public static int intVar= 0 ; public static String str = "" ; public static List<Object> aList= new ArrayList<Object>() ; public static HashMap<String, Object> aMap= new HashMap<String, Object>() ; }
通过使用类名来使用它们;
Utilities.boolVar = boolValue ; 实用程序.intVar = intValue ;
内活动。
于 2013-07-03T19:16:47.207 回答