我正在为一个电话簿创建一个api,它有3种不同类型的电话号码:传真,家庭,工作,手机
我想将一个数字添加到特定类型,但不想将传真、家庭、工作等归类为原始类型,因为我正在考虑以后可能会更改它。
我试图使用枚举,但不清楚在这种情况下如何有效地使用它。
到目前为止,我为这一部分编写的代码:
private enum NumberType{
FAX, WORK, HOME, CELL}
class PhoneNumber{
PhoneNumber(int Number, NumberType type){
this.number = Number;
this.type = type;
}
..
getter and setter for above
..
}但是我仍然不明白如何将特定的phoneNumber分配给特定的NumberType。
我还是很困惑。我想让某些人更容易使用这个功能。
请帮帮忙。
谢谢。
发布于 2010-09-26 20:44:15
您可以编写一个方法
NumberType findPhoneNumberType(String phoneNumber)
{
//logic to differentiate between various types of phone numbers.
//advantage: you can also check for illegal phone number values.
}您可以在调用前面提到的构造函数之前调用此方法。
NumberType nt = findPhoneNumberType(number);
PhoneNumber phoneNumber = new PhoneNumber(number, nt);我还建议使用String而不是int来表示电话号码。
发布于 2010-09-26 20:42:53
您只需创建一个新的PhoneNumber实例:
PhoneNumber homeNumber = new PhoneNumber(1234567890, NumberType.HOME);我还建议对电话号码使用字符串:)
https://stackoverflow.com/questions/3797797
复制相似问题