如何为Java会议管理应用的Meeting对象添加邮箱列表属性
Java 会议类邮箱列表属性传入方案
你现有的Meeting类已经声明了List<String> users属性用来存储邮箱地址,只需要补充对应的赋值入口即可,以下是两种常用实现方式:
- 方案一:新增带参会人列表的构造方法
在现有类的基础上追加重载的构造器,创建Meeting对象时直接传入邮箱列表:
public class Meeting { String room, subject; Date mdate; // 初始化空列表避免空指针异常 List<String> users = new ArrayList<>(); public Meeting(String room, String subject) { this.room = room; this.subject = subject; this.mdate = new Date(); } public Meeting(String room, String subject, Date date) { this.room = room; this.subject = subject; mdate = date; } // 新增带参会人列表的构造方法 public Meeting(String room, String subject, Date date, List<String> users) { this.room = room; this.subject = subject; this.mdate = date; // 支持非空校验,也可自行扩展邮箱格式校验逻辑 if(users != null) { this.users = users; } } }
调用示例:
// 构造邮箱列表 List<String> attendeeEmails = Arrays.asList("zhangsan@example.com", "lisi@example.com"); // 直接传入构造方法 Meeting meeting = new Meeting("A会议室", "一季度项目复盘", new Date(), attendeeEmails);
- 方案二:添加Setter方法动态设置
如果不想修改原有构造逻辑,可以单独给users属性加Setter方法,创建对象后再赋值:
// Meeting类中添加Setter public void setUsers(List<String> users) { if(users != null) { this.users = users; } }
调用示例:
Meeting meeting = new Meeting("B会议室", "需求评审会"); List<String> emails = Arrays.asList("wangwu@example.com", "zhaoliu@example.com"); meeting.setUsers(emails);
补充提示:建议给
users属性初始化默认空列表,避免后续调用users相关方法时报空指针异常;如果业务有要求可以在赋值前加邮箱格式正则校验,保证存储的内容符合规范。
内容的提问来源于stack exchange,提问作者Joh95
相关产品推荐
相关产品推荐

