• 论equals与==不同的重要性


    首先借鉴一下CSDN前辈的总结:

    在编程中,通常比较两个字符串是否相同的表达式是“==” ,但在 Java 中不能这么写。在 Java 中,如果要比较 a 字符串是否等于 b 字符串,需要这么写: if(a.equals(b)){ } 返回 true 或 false equals()方法 方法 String 的 equals()方法用于比较两个字符串是否相等。由于字符串是对象类型,所以不能 简单的用“==” (双等号)判断两个字符串是否相等,而使用 equals()方法比较两个对象的内 容。 语法: boolean equals(String str) str:要作比较的字符串对象。 返回:如果和 String 相等则为 true;否则为 false。 例如字符串“abc” 和一个新的字符串“abc” 比较的结果为“true” 因为它们内容相同。 , 注意: equals()方法比较的是对象的内容(区分字母的大小写格式) ,但是如果使用“==”双等 号操作符比较两个对象时, 比较的是两个对象的内存地址, 所以它们不相等 (即使内容相同, 不同对象的内存地址也是不相同的)来自http://blog.csdn.net/wletv/article/details/6947880

    今天写的词法分析器,因为要进行字符串比较,在标示符,关键字判断上总是出错。。。╮( ̄▽ ̄")╭ 改了半天就是不知道为啥不想等,,,,最后读了上边的内容才发现不能用==来比较字符串,因为他不仅要求内容相等,还有对象地址也要相等。。。。。。

    还有假如你写很多个IF,,最后再写一个else时,一定要避免重复判断,及时跳出。因为对于词法分析,里面可能存在包含关系(intaaa>int)一个是标示符,一个是关键字哦。

    个人感受,有错还望及时指出。

  • 相关阅读:
    Anders Hejlsberg 和 Erich Gamma
    node-webkit
    用户密码加密存储十问十答,一文说透密码安全存储
    Spring Security-- 验证码功能的实现
    BigDecimal 专题
    基于微信开发 专题
    unwrapThrowable
    Android PullToRefreshExpandableListView的点击事件
    Android The content of the adapter has changed but ListView did not receive a notification
    Android入门:广播发送者与广播接收者
  • 原文地址:https://www.cnblogs.com/8335IT/p/3618992.html
Copyright © 2020-2023  润新知