假设您有这样的类:
class Email {}
你希望它有一个字段来保存实际的电子邮件地址:
class Email {
String email;
}
创建一种";包装类";对于电子邮件来说,你会有一个类似的东西
List<Email> emails
或for (Email e : emails) {}
而不是
List<String> emails
或for (String e : emails) {}
这可以说是更可读的。此外,如果将来需要一个额外的属性,如boolean isActive
,则不必重构以前编写的代码。
然而,我遇到的问题是,必须将特定的电子邮件称为email.email
。这是不美观的,违反了DRY原则。
更一般地说,任何时候类的名称和字段的名称应该相同,您都必须以重复的方式引用该对象字段(name.name
(,这更为冗长,可读性较差。
我的问题是:这个问题有什么解决办法吗?
对于面向目标的方法,最好通过getter方法访问另一个对象的文件,该方法可以将方法名称更改为正确的名称。例如:
class Email{
String email;
public String getEmailAdress(){
return email;
}
}
我没有经常看到这样的包装格式。类是一个对象的蓝图,它应该具有一些属性。如果您试图用一个类包装每个字段,那么您必须为此创建许多类。我认为没有任何问题
列出电子邮件或用于(字符串e:电子邮件({}