有关String转换的问题

brandon2006 2012-08-03 09:49:39
假设一个方法getObject()的返回值是object,且知道这个object是一个String的情况下,那么获取这个字符串值,以下两种方法有区别吗?

第一种:强转类型
String s= (String)getObject();

第二种:调用Object方法的toString()
String s=getObject().toString();

请指教!!!
...全文
208 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wonkju 2012-08-08
  • 打赏
  • 举报
回复
一般都用第一种,4楼说的对,在不明确下,你先用instance判断,
q6823221 2012-08-08
  • 打赏
  • 举报
回复
在你说的这种情况下第一种方法更好点
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

String s=String.valueOf(getObject);
[/Quote]
又看到一种不会的解决方式,等下试试,楼主好人
老紫竹 2012-08-03
  • 打赏
  • 举报
回复
如果确切知道这个object是一个String的情况下

直接强制转换好了,不要toString();

因为有可能是null
黑色的熊猫 2012-08-03
  • 打赏
  • 举报
回复
String s=String.valueOf(getObject);
brandon2006 2012-08-03
  • 打赏
  • 举报
回复
嗯,多谢咁多位热心的回答。
zxm0109 2012-08-03
  • 打赏
  • 举报
回复
第一种方法比较保险一点,以为当你取得的值是Null时,第二种方法就会报错
luchangxing09 2012-08-03
  • 打赏
  • 举报
回复
我一般都会使用第一种方法,呵呵
luchangxing09 2012-08-03
  • 打赏
  • 举报
回复
我一般都会使用第一种方法,呵呵
shizhusz110 2012-08-03
  • 打赏
  • 举报
回复
如果object不是String类型 报错 instanceof判断下
深蓝mg 2012-08-03
  • 打赏
  • 举报
回复
楼主说的是object是一个String的情况,如一楼所说第一种快,二者都不会出错
MiceRice 2012-08-03
  • 打赏
  • 举报
回复
如1楼所说。

此外,第一种会比第二种速度更快,因为第二种多一次函数调用。
java_freshman01 2012-08-03
  • 打赏
  • 举报
回复
如果这个返回值不是String类型的,那么第二种方法依然适用,第一种就会报错
cfy_netprobe 2012-08-03
  • 打赏
  • 举报
回复
没区别

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧