public class Example{
public static void main(String[] args){
List<String> list=new ArrayList<String>();
list.add("Rick");
list.add("Negan");
list.add("carl");
list.forEach(
(names)->System.out.println(names)
);
}
}
在此示例中,names
的类型是如何推断的。
如果我们添加具有不同数据类型的项目,会发生什么。
例如:
list.add(new Person());
list.add(new Integer(3);
最佳答案
如果我理解正确的话,我认为这更像是一个通用问题。
当您声明List<String> namesList
时这意味着您只能在namesList
中添加字符串及其子类型。如果尝试添加其他内容,编译器会提示,因为它从 namesList
的声明中知道它可以具有 String 类型值。
关于Java Lambda 表达式 参数数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51458582/