如果我要创建所有内容的类型,而不是使用字符串和原始类型,最大的缺点是什么?
通常它看起来像:
String name = person.getName();
int age = person.getAge();
但现在“一切”都被对象化了,你很少处理字符串(除非你需要特定的字符串操作)。
Name name = person.getName();
Age age = person.getAge();
其中Name
和Age
将是(在本例中)简单的容器类:
public class Name {
private final String name;
public Name(final String name) {
this.name = name;
}
@Overide
public String toString() {
return name;
}
}
但是,在未来,他们可以有更多的方法和验证等。
但底线是你基本上为所有东西创建类型。
我知道这使代码更加类型安全,但是这种代码约定的最大缺点是什么?
最佳答案
代码变得更加冗长,并且并非所有库都能同样很好地处理这种模式。
我尝试在 Java 代码中取得平衡,我使用了相当多的原语和字符串,但某些数据类型(例如货币金额和社会安全号码)有自己的专用类。 SSN 有其内部验证规则。货币计算受益于对舍入的明确控制,并防止以不同货币添加金额。
在比 Java 更简洁的语言中,我倾向于比在 Java 中更多地使用这些专用类。
关于java - 创建所有内容的类的最大缺点是什么?而不是 String name = person.getName() ,而是 Name name = person.getName();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7725365/