在地图中添加arraylist值

时间:2013-05-28 04:22:04

标签: java

我有一个查询,我的类中有一个名为abc的方法,其返回类型是arraylist,如下所示

public List<abcinfo> getabc(String fileIdentifier)
{}

现在在另一个方法中的同一个类中,我需要以key的形式添加上述方法的结果 如下所示

HashMap<String, Object> data = new HashMap<String, Object>();
        data.put("GGG", getabc(String fileIdentifier));

现在我直接调用方法名称作为值请告诉我这是正确的方法 因为所有的东西都在同一个班级,请指教

2 个答案:

答案 0 :(得分:1)

这不会编译,因为您没有完全指定String对象作为getabc方法的参数。你为什么要在他的行中指定类型? :

data.put("GGG", getabc(String fileIdentifier));

String identifier不是有效参数。传递String参数或变量,例如

data.put("GGG", getabc("ArgumentRelativeToTheContextOfYourMethod"));

除此之外,您的代码似乎没有任何问题。 (相对于你提出的问题) 方法或方法调用属于同一类应该不是问题。

在您的情况下,HashMap将有一个条目,其键为GGG,值为您的getabc方法返回的列表。

然而,当您将其存储为对象

时,该值需要被类型转换为List

答案 1 :(得分:0)

这是正确的,你可以在你的类中调用方法(以及它被声明为public),但是在读回Object时你必须将它强制转换为List<abcinfo>