Java 如何添加到存储在BeanMap中的列表中?

Java 如何添加到存储在BeanMap中的列表中?,java,Java,我有一个表示对象的BeanMap,这个对象的一个字段是一个列表,我希望能够添加到这个列表中。此时,代码将简单地获取一个现有列表,并将完整列表放入BeanMap中。但是,如果我想稍后将项目添加到列表中,它们将覆盖在那里的项目,因为新列表将被放入BeanMap中 到目前为止,我已尝试从BeanMap获取列表,但它不允许我使用BeanMap.get方法并为此返回结果分配新字符串。不过,您可以对对象执行此操作 我还尝试将其作为对象,并使用Arrays.asList()对其进行操作。但这也不起作用 我目前

我有一个表示对象的BeanMap,这个对象的一个字段是一个列表,我希望能够添加到这个列表中。此时,代码将简单地获取一个现有列表,并将完整列表放入BeanMap中。但是,如果我想稍后将项目添加到列表中,它们将覆盖在那里的项目,因为新列表将被放入BeanMap中

到目前为止,我已尝试从BeanMap获取列表,但它不允许我使用BeanMap.get方法并为此返回结果分配新字符串。不过,您可以对对象执行此操作

我还尝试将其作为对象,并使用Arrays.asList()对其进行操作。但这也不起作用

我目前尝试的是:

Object listObject = myBeanMap.get("theList");
Arrays.asList(listObject).add("SOME STRING");
myBeanMap.put("theList", listObject);
我正在寻找一种方法,在保留现有项目的同时,将项目添加到该列表中

Arrays.asList(listObject).add("SOME STRING");
Arrays.asList
创建一个新列表,您可以向其中添加一些内容,但您从未保存该列表,因此无法添加新内容。您需要将代码更改为:

List<Object> list = Arrays.asList(listObject, "SOME STRING");
myBeanMap.put("theList", list);
编辑2: 如果要保留原始列表,则需要复制旧列表:

List<String> original = (List<String>) myBeanMap.get("theList");
List<String> extended = new ArrayList<>(original);
extended.add("new string"); // "new string" is NOT added to the original list
myBeanMap.put("theExtendedList", extended);
List original=(List)myBeanMap.get(“theList”);
列表扩展=新的ArrayList(原始);
扩展。添加(“新字符串”);//“新字符串”未添加到原始列表中
myBeanMap.put(“扩展列表”,扩展);
Arrays.asList
创建一个新列表,您可以向其中添加一些内容,但您从未保存该列表,因此无法添加新内容。您需要将代码更改为:

List<Object> list = Arrays.asList(listObject, "SOME STRING");
myBeanMap.put("theList", list);
编辑2: 如果要保留原始列表,则需要复制旧列表:

List<String> original = (List<String>) myBeanMap.get("theList");
List<String> extended = new ArrayList<>(original);
extended.add("new string"); // "new string" is NOT added to the original list
myBeanMap.put("theExtendedList", extended);
List original=(List)myBeanMap.get(“theList”);
列表扩展=新的ArrayList(原始);
扩展。添加(“新字符串”);//“新字符串”未添加到原始列表中
myBeanMap.put(“扩展列表”,扩展);

我不熟悉BeanMap,但我会在Java映射中这样做:((列表)myBeanMap.get(“theList”)).add(“某些字符串”)我不熟悉BeanMap,但我会在Java映射中这样做:((列表)myBeanMap.get(“theList”)。add(“某些字符串”)我认为这是不对的,直到对这行也做了一些事情:objectlistobject=myBeanMap.get(“theList”);我相信现在它是正确的。这可能是多余的:myBeanMap.put(“theList”,list);我相信这是不正确的,除非对这行也做了一些事情:objectlistobject=myBeanMap.get(“theList”);我相信现在它是正确的。这可能是多余的:myBeanMap.put(“theList”,list);