当前位置:  技术问答>java相关

==和equals()有多少区别,为什么if (chkfj=="you")和if (chkfj.equals(you))结果不一样

    来源: 互联网  发布时间:2015-05-30

    本文导语:  String you="you"; if (chkfj.equals(you)) 和if (chkfj=="you")结果不一样. 字符串的比较和变量的比较应该怎么做? | equals()是object对象的方法,如果没有重载equals()方法,该方法只是判断两个对象实例是否...

String you="you";
if (chkfj.equals(you))
和if (chkfj=="you")结果不一样.
字符串的比较和变量的比较应该怎么做?

|
equals()是object对象的方法,如果没有重载equals()方法,该方法只是判断两个对象实例是否指相同一个内存里的对象,并不是判断该对象的值是否相同

String, Boolean等的 equals()已被重载,他们比较的是具体的值。

对于primitive 的变量,如 int, char, 等,可以通过==进行比较数值。

|
if (chkfj.equals(you))
if (chkfj=="you")

你是不是那个写错了,这个没什么可比的,解释一下吧!

前者比较的是chkf和you的内容,后者经较的是chkf和you的引用(即内存地址)

|
字符串比较是不可以直接用==的
要用equals

CString型数据比较是用成员函数compare()

|
String.compareToIgnoreCase() //忽略大小写
String.compareTo()

|
一个比较的内存地址是否相同,一个是比较的内存地址的内容是否相同

|
参看《JAVA编程思想》第三章。

我有电子版,如需要可以发给你。

|
When you use == with a primitive -int, double, char, ... you are checking that
the values are identical. But if you use == with an object, you are checking that the 2
objects are stored at the same address. In other words the references pointing to the
same object...
Method equals () is different.
It is the same as ==, if it isn't overriden by the object class.
Many classes override the method equals (). In this case this method will check that
content of the object is the same or not, not addresses.

---------------
shmilu@sina.com

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Maps 成员 equal_range():返回特殊条目的迭代器对
  • 问一个简单问题: if (key!=null && key.equals("TT")) 与if (key.equals("TT") && key!=null)这样的条件是相同的么?
  • java命名空间javax.rmi.corba接口stubdelegate的类成员方法: equals定义及介绍
  • ==与equals的区别?
  • java命名空间java.awt类displaymode的类成员方法: equals定义及介绍
  • 创建 OpenGL 应用的中间件 Equalizer
  • java命名空间javax.swing枚举rowfilter.comparisontype的类成员方法: equal定义及介绍
  • 请问String.equals()和String.equalsIgnoreCase()有什么区别啊?
  • java命名空间javax.xml.datatype类datatypeconstants的类成员方法: equal定义及介绍
  • JSP中用于比较相等的equals方法,请指教!
  • C++ MultiMaps 成员 equal_range():返回指向元素的key为指定值的迭代器对
  • 看看会输出什么?结果是equal b,==在string里不是比较两个串是不是相等嘛?
  • java命名空间java.text类dateformat的类成员方法: equals定义及介绍
  • 请问,equals()与regionMatches()有什么区别?先道声谢了!
  • java命名空间java.text类dateformatsymbols的类成员方法: equals定义及介绍
  • jQuery Music Equalizer
  • java命名空间java.text类decimalformatsymbols的类成员方法: equals定义及介绍
  • 测试相等性,用==和equals有什么不同?
  • java命名空间java.text类parseposition的类成员方法: equals定义及介绍
  • 请教关于equals的问题
  • java命名空间java.text类decimalformat的类成员方法: equals定义及介绍
  • 技术文章 iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3