List和LinkedList之间的类型不兼容

时间:2019-10-13 13:50:59

标签: java list types

我想知道为什么代码会引发错误:不兼容的类型:列表无法转换为LinkedList。

但是,当我将方法 helper 更改为:

时,它可以运行

公共无效帮助器(字符串curr,列表res,向左,向右,向右,int n){

或者我更改调用构造函数的代码:         LinkedList res =新的LinkedList();

class Solution {
public List<String> generateParenthesis(int n) {
   List<String> res = new LinkedList<String>();
    helper("",res,0,0,n);
    return res;        
}

public void helper(String curr, LinkedList<String> res,int left,int 
right,int n){  
    if(right==n) {res.add(curr); return;}
    if(left<n) helper(curr+"(",res,left+1,right,n);
    if(right<left) helper(curr+")",res,left,right+1,n);
    }
}

1 个答案:

答案 0 :(得分:2)

List<String> res = new LinkedList<>();

在此行中,您将LinkedList分配给List类型的变量。因此,您的res变量的类型将是List,而不是LinkedList

然后,您尝试将List类型的变量传递给采用LinkedList类型参数的方法。所以这是不可能的。

因此您可以将res变量的类型更改为LinkedList或将方法参数更改为List