[英]Java wont let me call method with list
我试图从列表的另一个类调用一个方法,但它不让我。 这是我的电话声明:
case 2: pm.displayList(list);
break;
case 3: pm.searchList(scan, list);
break;
以下是我的方法:
public void displayList(List list){
System.out.print(list);
}
//search for element
public void searchList(Scanner scan, List list){
System.out.println("Search for element:\t");
String p = scan.nextLine();
if (list.contains(p))
System.out.println(p + " is in the list");
else
System.out.println(p + " is not in the list.");
}
这是我的错误:
MyProgram7.java:50: displayList(java.util.List) in Prog7Methods cannot be applied to (MyList<java.lang.String>)
case 2: pm.displayList(list);
^
MyProgram7.java:53: searchList(java.util.Scanner,java.util.List) in Prog7Methods cannot be applied to (java.util.Scanner,MyList<java.lang.String>)
case 3: pm.searchList(scan, list);
这些函数需要一个List
,而你正在提供一个MyList<java.lang.String>
。 检查MyList
实现了List
接口(我敢打赌它没有)。
此外,您可能不应该使用原始List
类型; List<String>
- 或MyList<String>
,视情况而定 - 将是更可取的。
看起来你的MyList<T>
类没有实现List
接口。 当然,您还没有向我们展示MyList<T>
,但这就是编译器错误所暗示的内容。
(顺便说一句,你的方法真的需要采用原始的List
类型而不是使用泛型吗?)
代码searchList
期待List<Object>
,看起来你正在传递List<String>
。 我假设MyList
实现了List
。
由于该方法都希望列表中的每个元素都是String
,因此请使用List<String>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.