以变量作为参数的类构造函数,存储为类属性并返回变量作为函数结果



我需要编写一个接受专用类类型的varargs List的类类应该在内部将此列表存储为类属性并返回此列表

我的代码,不编译是这样的

public class Sequence implements BasicClassInterface {

private List<BasicClassInterface> befehlsliste  = new ArrayList<>();

//   copy to a list  is  working 
public Sequence (BasicClassInterface...  params ) {
int i;
for(i=0; i< params .length; i++) {
befehlsliste.add(  params [i] );
}           
}
//  also fine 
public void addOneMore (BasicClassInterface  basicClassInterface )  {  befehlsliste.add( basicClassInterface);    }
//  my problem ...   how to return a vararg of basicClassInterface ??? 
public Sequence  getSeqence () {   return  befehlsliste.stream().toArray();  ???  }

不能"返回varargs"。Varargs只是数组的语法糖,只能用作参数类型(更具体地说,只能作为方法/构造函数的最后一个参数)。因此,看起来您想要返回一个数组,这意味着您需要将返回类型更改为BasicClassInterface[](数组类型)。您也不需要使用stream()将列表转换为数组。

public BasicClassInterface[] getSequence() {
return befehlsliste.toArray(BasicClassInterface[]::new);
}

相关内容

  • 没有找到相关文章

最新更新