darker73
2016-11-24 07:07
采纳率: 100%
浏览 1.5k
已采纳

java int转化的string和直接赋值的string有什么区别?

在if里面一直没法匹配
比如 int a = 1;
if(String.valueOf(a)=="1")结果是false。
我知道a可以直接设为string,这样就没问题了。但是我是想知道int转化后哪里会不一样= =

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • sinat_33901135 2016-11-24 07:16
    已采纳

    int转为String后应该用equals()判断相等,=是判断它们的引用是否相等

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • ServiceGood 2016-11-24 07:16

    ==判断地址 肯定不一样啊 你用"1".equals(a.toString) 判断值

    评论
    解决 无用
    打赏 举报
  • darker73 2016-11-24 07:19

    楼上两位都说得很清楚,只能采纳一个真是抱歉。感谢两位大神

    评论
    解决 无用
    打赏 举报
  • 天蓝风暖 2016-11-24 07:22

    “1”是一个具体的值,字符串值比较用equals,用==它会比较内存地址

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题