今天在新项目上发现了一个很有趣的函数–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);
}
再此算是对关键字有一个简单的认识吧。