sysUserList.forEach(System.out::println)输出的怎么是地址?
时间: 2024-10-14 09:14:29 浏览: 26
Parallel.ForEach的卡死现象(线程操作问题C#源码实例)
`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 类型。
阅读全文