1

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

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

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

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

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

4

2 回答 2

1

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

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

String identifier不是一个有效的论点。传递一个字符串参数或变量,例如

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

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

在您的情况下, HashMap 将有一个条目,其中 key asGGG和 value 作为您的 getabc 方法返回的 List 。

但是,该值需要类型转换为 List,因为您已将其存储为 Object

于 2013-05-28T04:30:55.863 回答
0

没错,你可以在你的类内部调用方法(以及在外部,因为它被声明为公共),但是在读回 Object 时,你必须将它转换为List<abcinfo>.

于 2013-05-28T04:26:34.627 回答