在我提出问题之前,我真的希望有人给我一些具体的建议,因为我现在已经搜索了很长时间,但似乎无法找到正确的答案。 我知道它的基本知识,但我遇到了问题。 这就是我的代码中的内容:
private Interface ClassName; //initializing class that implements interface
public Interface methodName () {
/*This is where I need to make arraylist of objects
of my class and return whole class as reference, maybe something like this:*/
List<Interface> listName = new ArrayList<>(perhaps needs number of objects added?);
listName.add(ClassName);
return ClassName; //or however this should be done
我想一旦我调用方法,我可以简单地使用listName.get(对象的数量);
问题是,我只是将列表作为引用返回,但我的方法要求我只返回带有所述接口的类,我不知道如何将我的类引用到特定的对象arraylist并将其返回到我的方法中。
感谢您的时间。 我会尝试用简单的英语解释。 首先,它的配置因此我不能改变方法的给定方式。 顺便说一下,那些不是实际的变量名,只是用来澄清我正在做什么的名字。 这是解释: / ** * *获取当前计算机系统的{@link ISystemRegisters}对象。 * * * * @return表示系统寄存器的对象。 * / public ISystemRegisters getRegisters();
所以我的类具有与ISystemRegisters不同的接口,并且这个方法应该保存对象的arrayList(这里是寄存器),然后返回该数组所在的对象引用,正如我所理解的那样。
答案 0 :(得分:0)
如果您只想从方法中返回列表,那么您应该声明您的方法:
public List<Interface> methodName () {
...
return listName; // instead of returning ClassName
}
将列表作为返回类型。
旁注:
您的第一行令人困惑,您没有初始化任何内容(如@Lucas所指出的),只是声明Interface
类型ClassName
的变量(此处为字段) }作为名称(应该是className
)。
不,您不需要指定列表创建中的项目数。这与数组不同。
您的变量名称令人困惑,如果以name
结尾,人们会认为变量包含名称。他们可能会认为它们是String
s。