equalsIgnoreCase()方法与equals()的区别是什么?

原创 2016年08月28日 14:18:36

今天在新项目上发现了一个很有趣的函数–equalsIgnoreCase()。那么它到底起到什么作用呢?简单点而言就是两个string类型的变量进行对比,看是否相等的功能,但是在对比是否相等的需求下,我们常用的还是equals()方法,相比equals而言,equalsIgnoreCase()有其自己的功能,可以忽略大小写,只要两个类型字母组成一样,那么就可以核对成功。
看如下的一个小demo,直接看结果就会体会结果:

 public static void main(String[] args) {
        String s1="HuoHuo";
        String s2="huohuo";
        String s3="Good";
        boolean rs1=s2.equalsIgnoreCase(s1);
        boolean rs2=s2.equals(s1);
        boolean rs3=s2.equalsIgnoreCase(s3);
        System.out.println(rs1);
        System.out.println(rs2);
        System.out.println(rs3);
    }

结果
看到这个关键字,突然想起上一个项目用到了身份证转换大小写的问题,由于紧急开发,在传输的身份证末尾到底是大写还是小写?第三方接口到底默认的是大写还是小写,最后由于版本上线,所以临时增添了重试机制。如果第一次失败,那么就把传值过来的身份证号末尾进行大小写替换,代码截图如下:
大小写
其实现在再看到这样的需求的时候,就发现对于一个想法真心有好几种实现机制,对于Character.toUpperCase(char) 和Character.toLowerCase(char)测试实例如下:

public static void main(String[] args) {
        String s1="HuoHuo";
        String s2="huohuo";
        String s3="HUOHUO";
//        将s1值转换成小写
        boolean rs1=s1.toLowerCase().equals(s2);
//        将s1值转换成大写
        boolean rs2=s1.toUpperCase().equals(s3);
        System.out.println(rs1);
        System.out.println(rs2);
    }

test
再此算是对关键字有一个简单的认识吧。

版权声明:本文为博主原创文章,未经博主允许不得转载。

"=="和equals和equalsIgnoreCase三者的区别

在JAVA里面,牵扯到equals和equalsIgnoreCase比较字符串的功能函数,前者比较的时候区分大小写,空格,后者比较时忽略大小写。这两个很简单,如下例子:public class ss ...
  • smile9700
  • smile9700
  • 2016年02月19日 11:04
  • 3121

android equalsIgnoreCase和equals的比较说明

1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式: boolean equals(Object str) 这里str是一个用来与调用字符串(String)对象做比...
  • u011467537
  • u011467537
  • 2015年04月15日 15:47
  • 935

JAVA学习(四)__equals与equalsIgnoreCase 的区别 ?

equals是重写object的方法,而 equalsIgnoreCase是String自己定义的方法 前者用于比较两个对象是否相等,而后者用于比较字符串忽略大小写的情况下是否相等 pu...
  • zhiweianran
  • zhiweianran
  • 2013年03月06日 15:13
  • 2846

equals( )方法与equalsIgnoreCase( )方法的比较

java.lang.String.equalsIgnoreCase()方法比较字符串到另一个字符串,忽略大小写因素。两个字符串被认为是相等忽略大小写的情况下,如果他们是两个字符串相同的长度和相应的字符...
  • qq_34129814
  • qq_34129814
  • 2017年05月24日 17:25
  • 210

Java中==操作符与equals方法的区别

刚开始学Java的童鞋一般对equals方法和==的区别都比较疑惑,最近找了资料才大致弄清楚的,所以把这两者的区别做了一下整理,也方便自己阅读。 首先,==操作符既可以用于比较基本数据类型(boole...
  • Sam_weiy
  • Sam_weiy
  • 2015年09月07日 21:13
  • 664

请问equals和equalsIgnoreCase有什么区别啊

equals是重写object的方法,而  equalsIgnoreCase是String自己定义的方法  前者用于比较两个对象是否相等,而后者用于比较字符串忽略大小写的情况下是否相等...
  • zhyooo123
  • zhyooo123
  • 2011年08月18日 14:54
  • 457

String.equals()与String.equalsIgnoreCase( )区别

**String.equals()对大小写敏感! String.equalsIgnoreCase( )则忽略大小写** public static void main(String[] arg...
  • eagllle
  • eagllle
  • 2016年12月05日 11:26
  • 1343

Java 中 Equals和==的区别

在谈论equals和==的区别前,我们先简单介绍一下JVM中内存分配的问题。 在JVM中 内存分为栈内存和堆内存。二者有什么区别呢? 当我们创建一个对象(new Object)时,就会调用它的构造函数...
  • tcytcy123
  • tcytcy123
  • 2016年03月09日 16:19
  • 17388

Java中==号与equals()方法的区别

==号和equals()方法都是比较是否相等的方法,那它们有什么区别和联系呢? 首先,==号在比较基本数据类型时比较的是值,而用==号比较两个对象时比较的是两个对象的地址值:int x = 10; ...
  • StriverLi
  • StriverLi
  • 2016年11月01日 17:29
  • 2328

[Jave]详解"equals方法"和"==操作符"

总纲其实equals()方法 和 ==操作符的区别就是下面两句话: 操作符 == 是用来比较两个引用是否指向堆内存当中的同一块地址 equals(Object obj) 方法是用来比较两个对象的值是否...
  • humanking7
  • humanking7
  • 2015年02月07日 00:27
  • 1636
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:equalsIgnoreCase()方法与equals()的区别是什么?
举报原因:
原因补充:

(最多只允许输入30个字)