浅析String类中“= =”和equals的应用.docVIP

浅析String类中“= =”和equals的应用.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析String类中“= =”和equals的应用   [摘 要]String是编程中常用到的数据类型,Java中的String类是一种引用数据类型。它将从String类对象的两种创建方式入手,分析字符串作比较时 “= =”和equals()的具体应用。   [关键词]equal 字符串 数据类型   [中图分类号]TP311.1[文献标识码]A[文章编号]1007-9416(2010)02-0110-02      The Analysis of String class = = and the application of equals   Chen Yi Tong Yala   (School of Science, Hubei University of Technology; Wuhan 430068)   [Abstract]String is a commonly used in programming data types ,Java the String is a reference data type. the paper from the String class object to create the two methods are analyze when compared to the string = = and equals () the specific application.   [Key words]equal;string,data types      Java是一门强类型语言,每个变量都必须声明类型。Java语言的数据类型有两大类:一类是简单类型,也称主要类型,另一类是引用类或扩展类(主要是指String类型)。简单类型的变量中存储的是具体的值,而引用类型的变量中存储的是对象的引用。在Java中,通过两种方式可以比较两个数据是否相等:(1)使用操作符“==”;(2)使用equals方法。   1 简单类型的比较   在Java中,简单数据类型的比较一般是用操作符“==”来进行的。因为原子类型(int,char等)不是对象,因此只能使用“==”操作符进行比较。只要表达式两边的“值”相等,那么比较的结果就是true,否则为false。对于对象的比较更复杂些,“= =”操作符比较两个引用是否指向同一个对象,equals方法则实现更专门的相等性比较。   2 扩展类型的比较   Java中没有内置字符串类型,在标准Java库中包含一个名为String的预定义类。 将字符串作为预定义的对象处理允许Java提供极丰富的功能特性以方便处理字符串。   对于String类型的比较可以采用“==”,也可以采用equals()方法进行比较。如:   String s1=new String(“hello”);   String s2=new String(“hello”);   对于s1和s2,用 “==”的比较结果将返回false,而用equals()比较的结果将返回true。这是因为“= =”在比较引用数据类型的时候,比较的是对象本身,即只有两个变量代表同一个对象的时候,才能返回true。即在比较的时候,比较了对象的地址信息,只有地址相同的对象才能够返回true。所以上面代码用“==”比较结果为false。而String中的equals()方法实现对String 对象所代表的内容的比较,它们的内容是一样的,都是“hello”,所以比较结果为true。   2.1 字符串”==”的比较   String是java中最常用的一个不可变对象。其对象的创建有两种方式:   其一:String str=“abc”;   其二:String str=new String(“abc”);   下面具体的分析,由这两种方式所创建的对象用“==”来作比较的结果。   Ⅰ、两者都为第一种方式创建对象的比较   String strl=“abc”;   String str2=“abc”;   System.Out.println(str1= =str2);   若用String strl=“abc”;语句创建一个对象,在Java内部将包含了这样一些信息:   首先,定义一个名字为strl的String类的对象引用变量。接着,在栈内存中搜索是否存在着这样一个存储单元,用来存放“abc”的值。若没有,则将新开辟一个的存储单元存放“abc”的值。然后,创建一个新的String类的对象o。并将对象o指向新开辟的存储单元,同时在栈内存中标记这个引用的对象o。若已经存在值为“abc”的地址,则搜索对象o,返回该对象o的地址。最后,将strl指向对象o的地址。strl

文档评论(0)

聚文惠 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档