JAVA中字符串比较equals和equalsIgnoreCase的区别

 我来答
小傻

2016-05-12 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31136
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

在JAVA里面,牵扯到equals和equalsIgnoreCase比较字符串的功能函数,前者比较的时候区分大小写,空格,后者比较时忽略大小写。这两个很简单,如下例子:

public class ss
{
   public static void main(String[] args)
   {
       String c1="i am good";
       String c2="i am good";
       String c3="I AM GOOD";
       String c4=new String("i am good");
       String c5=new String("i am good");
       String c6=new String("I AM GOOD");
       System.out.println("c1==c2:"+(c1==c2));
       System.out.println("c1==c3:"+(c1==c3));
       System.out.println("c4==c5:"+(c4==c5));
       System.out.println("c4==c6:"+(c4==c6));
       System.out.println("c1.equals(c2)"+c1.equals(c2));
       System.out.println("c1.equals(c3)"+c1.equals(c3));
       System.out.println("c4.equals(c5)"+c4.equals(c5));
       System.out.println("c4.equals(c6)"+c4.equals(c6));
                 System.out.println("c1.equalsIgnoreCase(c2)"+c1.equalsIgnoreCase(c2));
       System.out.println("c1.equalsIgnoreCase(c3)"+c1.equalsIgnoreCase(c3));
       System.out.println("c4.equalsIgnoreCase(c5)"+c4.equalsIgnoreCase(c5));
       System.out.println("c4.equalsIgnoreCase(c6)"+c4.equalsIgnoreCase(c6));

}

}

可以看到,无论以String c1=”i am good”;方式建立的字符数组还是以String c4=new String(“i am good”);方式建立的数组,在使用equalsIgnoreCase和equals上,两者的区别就在于去不去分大小写。 
==和equals的区别。 
1.首先,从程序执行结果可以看到,在比较以String c1=”i am good”;方式建立的字符数组时,==和以equals的比较结果是一样的,而在以String c4=new String(“i am good”);方式建立的数组时,两者结果却是不一样的,这是因为==比较的是内存位置,不适合拿来比较字符串,而整型等可以用==比较。equals和==的区别就在这里,它比较的是内存中的内容。 
2.以String c1=”i am good”;方式申请数组时,不立即分配内存,而是在用到时分配,而String c4=new String(“i am good”);需要提前分配好数组内存。两者在内存分配上是有区别的。这也是很多JAVA书籍中申请数组时都要加new的原因,当然,不加也可以,也可使用。加于不加new,也就是使用==比较时有区别

liuyang054
2016-05-08 · TA获得超过9093个赞
知道大有可为答主
回答量:5317
采纳率:78%
帮助的人:5346万
展开全部
equals 区分大小写
equalsIgnoreCase 不区分大小写
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
育知同创教育
2016-05-08 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
boolean equals(Object anObject)
比较此字符串与指定的对象。
boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 进行比较,不考虑大小写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式