知识大全 在String中==和equals的区别
Posted 常量
篇首语:非淡泊无以明志,非宁静无以致远。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在String中==和equals的区别相关的知识,希望对你有一定的参考价值。
在String中==和equals的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
下面是源代码(存为Java文件 编译运行 推敲下结果) public class DosShell public static void main(String[] args) // 开始测试了 System out println( Hello world ); //定义两个对象 并初始化 String c = Check equal method ; String d = Check ; //这样d 和 c是一样的么? d += equal method ; System out println( c equals(d)的结果并不表示c和d到底是不是引用的一个对象 因为它被重载了 结果 + (c equals(d))); System out println( c==d的结果表示c和d到底是不是引用的一个对象 结果 + (c==d)); //intern方法是干什么的呢?原来是返回 常量池 中的常量的引用(如果没有就创建一个) 那么下面的结果是什么呢? System out println( use intern method c==c intern() > + (c==c intern())); System out println( use intern method d==c intern() > + (d==c intern())); System out println( use intern method c==d intern() > + (c==d intern())); System out println( use intern method d==d intern() > + (d==d intern())); //原来c直接是引用的常量池中 而d不是 难怪c!=d; //下面这个简单 String s = ; String s = ; System out println( String s = \\ \\ String s = \\ \\ ); System out println( s ==s : + (s ==s )); System out println( s equals(s ): + s equals(s )); System out println( s hashCode()==s hashCode(): + (s hashCode()==s hashCode())); //让s 的引用变一下 s = ; System out println( s = \\ \\ ; ); System out println( s ==s : + (s ==s )); System out println( s equals(s ): + s equals(s )); System out println( s hashCode()==s hashCode(): + (s hashCode()==s hashCode())); //原来都是true 都是引用的常量池 如果这样呢? s = new String( ); System out println( s = new String(\\ \\ ); ); System out println( s ==s : + (s ==s )); System out println( s equals(s ): + s equals(s )); System out println( s hashCode()==s hashCode(): + (s hashCode()==s hashCode())); //new 方法在堆中创建了一个新的对象 而s 引用了它 不再是原来引用的常量池了 //看看这个结果 s = new String(); System out println(s ); //这个语句相当于s = new String( );和下面的不一样 String s = null; System out println(s ); //再来看看intern方法 说明了什么?? String s = new String(); System out println( use intern method s ==s intern() > + (s ==s intern())); //new 在堆创建了了个 对象 当然和常量池的 不一样了啊 本文出自 CTO 技术博客 cha138/Article/program/Java/hx/201311/25812相关参考
c#中String和string的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! strin
C#的==运算符和Equals()方法区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! usi
知识大全 ViewState与Request.Form及string和String的区别
ViewState与Request.Form及string和String的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,
string、Empty和null三者的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这是
知识大全 String和stringBuffer类字符串的区别
String和stringBuffer类字符串的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在java里面objectequals()的概念是两个引用指向的是同一个对象即两者指向同一个对象才equals()但是也有特例比如说一些原始类型integerstring等属于值相等就是说值相等也
在.NET程序中正确使用String类型[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
在.NET程序中正确使用String类型[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 Apache Commons Lang之hashCode()、equals()
ApacheCommonsLang之hashCode()、equals() 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我
知识大全 VC2005中System::String转换为std::string
VC2005中System::String转换为std::string 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶