如何获取interface <t>的返回类型?

时间:2019-02-21 15:51:46

标签: java interface stack

我陷入了这个问题,我试图纠正它,但没有任何变化。

首先,“堆栈”是一个接口 and this is the required method

复制数组堆栈并将其作为新堆栈返回,这是我的代码:

gulp.task

所以我在“ return ns; ”语句上遇到了一个编译错误,该语句说:

  

类型不匹配:无法从Type []转换为Stack

我不知道我是否以错误的方式写了方法签名或新数组。

我会感谢您的帮助:)

1 个答案:

答案 0 :(得分:3)

这里:

Type[] ns

已返回,因此应为:

Stack<Type>

但是T的数组...不是T的堆栈。您必须下定决心,该方法应返回数组(然后更改签名),还是应返回新的Stack实例(在这种情况下) ,则无法返回该ns数组!)

正如名称copy()所暗示的那样,您可能应该:

  • 创建ArrayStack的新实例
  • 使用原始堆栈提供的相同内容设置新堆栈的堆栈...然后
  • 返回该新的ArrayStack实例。