From 3dad9d67d39af2deeb35178b759c424654d641c3 Mon Sep 17 00:00:00 2001 From: GrumpyCitizenBear <1049378767@qq.com> Date: Sat, 9 Oct 2021 10:40:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BF=E5=90=8D=E5=86=85=E9=83=A8=E7=B1=BB?= =?UTF-8?q?=E7=BB=83=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hcsp/polymorphism/NameCollector.java | 18 ------------ .../com/github/hcsp/polymorphism/User.java | 29 +++++++++++++++---- 2 files changed, 23 insertions(+), 24 deletions(-) delete mode 100644 src/main/java/com/github/hcsp/polymorphism/NameCollector.java diff --git a/src/main/java/com/github/hcsp/polymorphism/NameCollector.java b/src/main/java/com/github/hcsp/polymorphism/NameCollector.java deleted file mode 100644 index da7f2c6..0000000 --- a/src/main/java/com/github/hcsp/polymorphism/NameCollector.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.github.hcsp.polymorphism; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Consumer; - -public class NameCollector implements Consumer { - private final List names = new ArrayList<>(); - - @Override - public void accept(User user) { - names.add(user.getName()); - } - - public List getNames() { - return names; - } -} diff --git a/src/main/java/com/github/hcsp/polymorphism/User.java b/src/main/java/com/github/hcsp/polymorphism/User.java index 78d927d..e3f7a98 100644 --- a/src/main/java/com/github/hcsp/polymorphism/User.java +++ b/src/main/java/com/github/hcsp/polymorphism/User.java @@ -1,13 +1,21 @@ package com.github.hcsp.polymorphism; +import com.sun.tools.internal.ws.processor.util.ClassNameCollector; + +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.function.Consumer; -public class User { - /** 用户ID,数据库主键,全局唯一 */ +public class User { + /** + * 用户ID,数据库主键,全局唯一 + */ private final Integer id; - /** 用户名 */ + /** + * 用户名 + */ private final String name; public User(Integer id, String name) { @@ -26,9 +34,18 @@ public String getName() { // 这里使用了一个NameCollector类,请尝试将它改写成匿名内部类 // 使得代码更加集中,更加容易阅读 public static List collectNames(List users) { - NameCollector collector = new NameCollector(); - users.forEach(collector); - return collector.getNames(); + List names = new ArrayList<>(); + users.forEach(new Consumer() { + @Override + public void accept(User user) { + names.add(user.getName()); + } + + public List getNames() { + return names; + } + }); + return names; } public static void main(String[] args) {