这是一个新手问题,但我想我真的不明白最佳做法是什么。
基本上,我有一个名为“emailScan”的方法,它会扫描以查看数据库中是否已存在电子邮件。这可能会导致三种可能的结果:
问题是,这种方法应该返回什么?我的想法:
有什么想法吗?
答案 0 :(得分:6)
Enum是要走的路!
public enum EmailStates {
DOES_NOT_EXIST,
EXISTS_ASSOCIATED,
EXISTS_REGISTERED
}
答案 1 :(得分:2)
如果您想知道三种情况中的哪一种存在,但又不想要任何更多信息(如电子邮件本身),那么Enum(或者甚至只是一个int,以保持简单)是要走的路
答案 2 :(得分:2)
对于这种情况,枚举似乎是最好的,实际上大多数情况下存在少量可能的值:
public enum EmailAssociation { NONE, ASSOCIATED, REGISTERED }
public EmailAssociation emailScan(String email) { ... }
答案 3 :(得分:2)
它可以是一个枚举,或者你可以使用异常,如果你只需要处理一个案例(并将其他案例作为错误返回)。 如果不是这种情况,我会使用Enum
答案 4 :(得分:1)
从数据库获取数据并在数据上运行某些逻辑是两回事。因此,仅返回电子邮件对象似乎是最好的方法。然后,您可以重复使用该功能来搜索电子邮件并执行其他操作。