我们应该外部化验证字符串和toString()方法吗?



我想问一下,我们是否应该外部化toString()实现中使用的字符串文字。让我举个例子:-

假设这是我的 toString() 实现:-

@Override
public String toString() {
 return "First Name: " + firstName + "," + "Last Name: " + lastName;
}

在这里,我们是否应该外化"名字:"和"姓氏:"?

另一种方案是使用验证字符串。如果我正在创建带有名字和姓氏的名称对象,则不能为空。然后我在我的构造函数中进行了以下检查:-

if(firstName == null) {
 throw new NullPointerException("firstName is null");
} 

我们是否应该外化"名字为空"?

谢谢

实际上,只有在您希望允许将调试消息国际化时才需要这样做,因为toString实际上不应该向用户显示

有用的链接:http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Fconcepts%2Fconcept-string-externalization.htm

您可能还想查看以下内容:http://tika.apache.org/

所以当 tika 给你一个字符串的语言时,你应该写一个这样的 Java 方法:

enum languageToTransformString //create however many languages you want
public String toString(String lang)
{
    languageToTransformString = lang;
    switch languageToTransformString:
        case german:          
        firstNameText = "deutchName: ";  
        lastNameText = "deutchLastName: ";
        return new String(firstnameText + firstName + lastNameText + lastName);
         break;
        case eng:
       //do stuff
        firstNameText = "engName: ";  
        lastNameText = "engLastName: ";
        return new String(firstNameText + firstName + lastNameText + lastName);
        break;
        default:
        return new String("We don't support your language. Sorry.");
}

最新更新