perList.forEach(System.out::println);
时间: 2024-04-26 16:20:50 浏览: 178
这是一个 Java 8 中的 Lambda 表达式,它可以简化集合遍历的代码。其中,perList 是一个集合,forEach 是一个遍历方法,System.out::println 是一个 Lambda 表达式,用于输出集合中每个元素的值。具体来说,System.out 是一个静态方法引用,用于指定输出到控制台,而 println 是输出方法的名称。这行代码的作用是将 perList 集合中的每个元素输出到控制台。
相关问题
分析此代码:list.forEach(System.out::println);
这行代码使用了Java 8中的lambda表达式语法,其中System.out::println是一个方法引用,指定了forEach()方法的操作。它的意思是将list集合中的每一个元素作为参数传递给System.out.println()方法,然后打印出来。
因此,这行代码的作用是将list中的所有元素打印到控制台上。
sysUserList.forEach(System.out::println)输出的怎么是地址?
`sysUserList.forEach(System.out::println)` 这行代码是 Java 中的 Lambda 表达式和方法引用用于遍历集合 `sysUserList`。`forEach` 是 Collection 接口的一个方法,它接受一个函数作为参数,这个函数会被应用到集合的每个元素上。在这里,`System.out::println` 是一个方法引用,表示调用 `System.out.println` 方法。
当 `forEach` 遍历 `sysUserList` 的时候,实际上对于列表中的每一个用户对象,`System.out.println` 方法会打印出该对象的地址。因为默认的 `println` 方法在大多数情况下是打印对象的内存地址,尤其是在未提供额外信息的情况下。如果你想打印对象的内容而不是地址,你应该在 `println` 之前提供一个方法来获取并返回字符串表示形式,例如:
```java
sysUserList.forEach(user -> System.out.println(user.toString()));
```
这里假设 `sysUserList` 存储的是实现了 `toString()` 方法的对象,如 User 类型。
阅读全文