我想问一下,我们是否应该外部化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.");
}