Coder_py
2017-04-24 08:55
采纳率: 80%
浏览 2.3k
已采纳

Java读取文件内容比较

用Java从txt文件读取字符串内容,读取出来进行比较,相同的字符却不能相等,比如从txt读取出string="123",但是读出来后用它比较如if(string=="123") { }
if判断是false,望大神指教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

11条回答 默认 最新

  • 虎乖乖 2017-04-24 08:58
    已采纳

    两个不同对象比较,当然返回的是false了

    点赞 评论
  • T_world 2017-04-24 08:54

    在java中对比较字符串是否相等一般用equals方法

    点赞 评论
  • wlq199101 2017-04-24 09:06

    if(string.equals("123")){ }

    点赞 评论
  • ljheee 2017-04-24 09:06

    比较字符串内容 是否相等一般用equals方法

    点赞 评论
  • blueocean_gao 2017-04-24 09:13

    字符串之间用equals是比较是否一样

    点赞 评论
  • hongyu83916 2017-04-24 09:29

    == ,判断的是内存地址。看多个引用是否指向,同一个对象。equals 比较的是内容,是值。如果==为true
    ,equals 返回值也一定是true,反之则不然。String.equals().重写了object的equals方法,你可以看jdk源码,
    就可以知道他们的真面目

    点赞 评论
  • qq_35827307 2017-04-24 09:34

    对string一般用equals

    点赞 评论
  • qq_34464452 2017-04-24 10:28

    == 比较的是地址 ,.equals()比较的是内容 String类复写了object的equeals()

    点赞 评论
  • Solo丶慕颜 2017-04-24 13:25

    这么跟你说吧,在java中什么都可以看做是一个对象, 没错,你的String也是一个对象,它指向了一段值为“123”的内存, 你从txt文件中读取出来的“123”也是一个对象。 在java中你如果想返回true的话,就得使用equals方法,这个方法就是用来比较对象中的值用的。而“==”这个方法实际上比较的是两个对象的地址
    根据你提的这个问题我估计你还无法理解地址是什么,但是你要记住的是equals比较的是对象的值,“==”对比的是两个对象的地址

    点赞 评论
  • Vin_Spier 2017-04-24 14:39
    ==    比较的是 数据类型的值 或者 引用变量的对应值的存储地址 
    

    equals 比较的是 引用对象的内容

    例如:字符串1“love”指向引用变量a,字符串2“love”也指向另一个引用变量b;
    然而 a和b中的“love”是指向不同的 也就是他们的位置不同 但是内容相同的

    所以a.equals(b)为true 而a==b为 false;

    若果说 a和b是指向同一个位置的“love” 那么equals和==都是true;

    点赞 评论
  • 我是一只小小黄 2017-04-25 06:40

    if("123".equals(变量名)){},字符串类型的比较用equals

    点赞 评论

相关推荐 更多相似问题