在java中,什么类型可以包含像2023209999这样的数字?您认为使用字符串类型来表示电话号码是个好主意吗?
发布于 2009-06-12 03:23:04
使用字符串是一个非常好的想法。请记住,OOP的要点是不同类型的数据具有不同的使用模式。让我们来看一下电话号码模式。
第一个问题的答案是否定的。所以我们不会像操纵数字那样去操纵它们。第二个问题的答案是肯定的,所以我们像处理字符串一样处理它们。
现在,这里的许多人都在倡导让手机本身成为一个类。在这方面有优点,但我正在解决更紧迫的问题,即如何存储电话号码,这是无论电话是不是类都需要做的事情。将数据存储为数字的phone类不太适合。
发布于 2009-06-12 03:23:32
我会编写一个PhoneNumber类,它使用字符串作为底层存储,并添加了验证/良好的格式化功能。
发布于 2009-06-12 03:26:22
我至少会说一个字符串,但就我个人而言,我会创建一个PhoneNumber对象。这是一种可以提供额外方法的东西,例如:
boolean isValid();
PhoneNumberUtils.getCountry(PhoneNumber number);
PhoneNumberUtils.getState(PhoneNumber number);...or之类的。我正在考虑的一件事就是让人们输入电话号码,然后让系统学习剩下的部分。我不喜欢输入系统可以确定的数据。这只是我的偏好。
在更简单的层面上,只需将字符串封装在PhoneNumber对象中就可以给您的大脑一个句柄……在一周左右的时间里,当你的大脑在想“这种电话号码方法应该去哪里?”时,你可能会发现自己有了一个快速的答案。
https://stackoverflow.com/questions/984817
复制相似问题