Java Lambda 表达式 参数数据类型

标签 java string list lambda foreach

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/

相关文章:

java - 两次(同时)启动同一个JAVA程序的行为

java - Spring - JPA - 插入 - 不传递具有默认值的字段的值会引发错误

java - 如何在 artifactory 中配置更长的版本号

java - 是否可以去掉 Websphere 管理的数据源的额外 @Resource 注释?

list - LISP 如何从列表中删除特定索引处的元素

Java 克隆数组作为构造函数中的参数

java - 在调车场保留括号

java - 字节数组到印地语 Unicode 值

Java String Split 从大字符串中获取单个数据

python - 如何在新行中打印列表中的元素?