【发布时间】:2014-12-15 20:11:58
【问题描述】:
每个电话号码的类型必须唯一。它们必须存储为两个字段:电话类型(工作、家庭、手机)和号码。 我怎样才能在java中编写这样的类? 下面的contracter是真的还是假的?
public class PhoneNumber {
private int number;
private String type;
public PhoneNumber(int number1,String type1){
setNumber(number1);
setType(type1);
}
【问题讨论】:
-
您的数据模型应该独立于用户输入的约束。最好将这种验证检查放在另一个级别(例如,当您将值插入集合或其他数据存储时)。顺便说一句 - 电话号码不是,也永远不会是一个实际的数字。
-
类型也可以是枚举。
-
就目前而言,这个问题没有提供足够的信息并且过于宽泛。您如何保持独特性以及如何创建新的
PhoneNumbers? -
您在哪里确保电话号码字段的唯一性?如果它在您的设置器中,请提供它们的代码。电话号码不应存储为 int;使用字符串。
-
A
PhoneNumber及其类型和编号是一条数据。电话号码在类型中应该是唯一的,这是一个业务规则,因此该约束不属于 PhoneNumber 类。