用Java返回现有对象(如果存在)或一个新对象

时间:2019-05-27 16:32:42

标签: java

返回现有对象(如果存在)或创建并返回一个新对象(如果不存在)的正确方法是什么?

public class User {
   private String name;
   private static Map<String, User> users = new HashMap<>();


   public User(String name) {
       this.name = name;
       users.put(name, this);
   }

   public String getName() {
       return name;
   }

   public static User getUser(String name) {
       User user = users.get(name);
       if (user == null) user = new User(name);
       return user;
   }
}

此代码只是此架构的最简单实现,但是在实际应用中应该使用什么?一个工厂?数据库?还有吗?

0 个答案:

没有答案