从Object到String,造型转换好还是toString()好?
J2002 2004-06-28 04:11:16 从Object到String,造型转换好还是toString()好?
下面给出3段代码,大家比较一下,说说哪个好?
A:
private String getString(Object aObject){
if(aObject == null){
return null;
}
if (aObject instanceof String == false) {
return null;
}
String aString = (String) aObject;
if(aString.trim().length() == 0){
return null;
}
return aString;
}
B:
private String getString(Object aObject){
if(aObject == null){
return null;
}
String aString = aObject.toString();
if(aString.trim().length() == 0){
return null;
}
return aString;
}
C:
private String getString(Object aObject){
if(aObject == null){
return null;
}
String aString = null;
try {
aString = (String) aObject;
} catch (Exception e) {
aString = aObject.toString();
}
if(aString.trim().length() == 0){
return null;
}
return aString;
}
我个人认为,代码B最好,C次之,A不好。当传入的aObject原本就是String时,3段代码没有什么区别,当传入的aObject原本不是String时,比如Integer,代码B、C都能得到期望的结果,但我个人倾向于使用代码B。大家帮忙看一下,我的看法是否正确?