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

1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:

boolean equals(Object str)

这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。

2、为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )方法。当比较两个字符串时,它会认为A-Z和a-z是一样的。其一般形式如下:

boolean equalsIgnoreCase(String str)

这里,str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它也返回true,否则返回false。下面的例子说明了equals( )和equalsIgnoreCase( )方法:

// Demonstrate equals() and equalsIgnoreCase().

class equalsDemo {

public static void main(String args[]) {

String s1 = "Hello";

String s2 = "Hello";

String s3 = "Good-bye";

String s4 = "HELLO";

System.out.println(s1 + " equals " + s2 + " -> " +

s1.equals(s2));

System.out.println(s1 + " equals " + s3 + " -> " +

s1.equals(s3));

System.out.println(s1 + " equals " + s4 + " -> " +

s1.equals(s4));

System.out.println(s1 + " equalsIgnoreCase " + s4 + " -> " +

s1.equalsIgnoreCase(s4));

}

}

该程序的输出如下所示:

Hello equals Hello -> true

Hello equals Good-bye -> false

Hello equals HELLO -> false

Hello equalsIgnoreCase HELLO -> true

时间: 2024-10-26 21:45:56

JAVA中字符串比较equals()和equalsIgnoreCase()的区别的相关文章

转-- JAVA中字符串比较equals()和equalsIgnoreCase()的区别

1.使用equals( )方法比较两个字符串是否相等.它具有如下的一般形式: boolean equals(Object str) 这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象.如果两个字符串具有相同的字符和长度,它返回true,否则返回false.这种比较是区分大小写的. 2.为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )方法.当比较两个字符串时,它会认为A-Z和a-z是一样的.其一般形式如下: boolean equalsI

java 中字符串比较equals()和equalsIgnoreCase()的区别

1.使用equals( )方法比较两个字符串是否相等 boolean equals(Object str) 这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象. 如果两个字符串具有相同的字符和长度,它返回true,否则返回false.这种比较是区分大小写的. 2.为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )方法.当比较两个字符串时,它会认为A-Z和a-z是一样的. boolean equalsIgnoreCase(String st

Java中BigDecimal的equals与compareTo的区别

有个是否为零的判断[BigDecimal.ZERO.equals(ratio)]我用了BigDecimal的equals方法,结果,判断失败,因此特地分析一下equals与compareTo的区别.本文参考JAVA_VERSION="1.7.0".首先看一下BigDecimal的equals方法源码: public int compareTo(BigDecimal val) { // Quick path for equal scale and non-inflated case. i

Java中字符串比较时==和equals的区别

==是比较两个字符串引用的地址是否相同,即是否指向同一个对象,而equals方法则比较字符串的内容是否相同. 例如String a = "abc"; String b = "abc"; a == b返回true,a.equals(b)同样返回true,这是为什么呢? 原来程序在运行时有一个字符串池,创建字符串时会先查找池中是否有相应的字符串,如果已经存在的话只需把引用指向它即可,如果没有则新建一个. 上例中创建a时,会在字符串池中首先创建一个"abc&qu

java中字符串比较==和equals

1 总体来说java中字符串的比较是==比较引用,equals 比较值的做法.(equals 对于其他引用类型比较的是地址,这是因为object的equals方法比较的是引用),但是不同的声明方法字符串的比较结果也是不同的.    例如:  String str1=new String("a");        String str2=new String("a");        str1==str2  输出false        str1.equals(str

Java中的==和equals方法详解

Java中的==和equals   1.如果比较对象是值变量:只用== 2.如果比较对象是引用型变量: ==:比较两个引用是不是指向同一个对象实例. equals: 首先Object类中equals的实现是直接调用了==操作. 一个自定义类继承自Object且没有重写equals方法,那么其equals操作也是与Object类一样,仅仅是直接调用==操作. 如果一个类重写过equals方法(或者继承自一个重写过equals方法的类),那么效果与==操作不同 如果是你自己定义的一个类,比较自定义类

Java中的==和equals区别

引言:从一个朋友的blog转过来的,里面解决了两个困扰我很久的问题.很有久旱逢甘霖的感觉. 中软国际电子政务部Jeff Chi总结,转载请说明出处. 概述:        A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同:当用于引用类型的时候,是比较对象是否相同.        B.对于String a = “a”; Integer b = 1;这种类型的特有对象创建方式,==的时候值是相同的.        C.基本类型没有equals方法,equals只比较值(对象中的

Java中字符串比较的注意点

Java中必须使用string1.equals(string2)来进行判断 补充如果: string s1=new String("Hello"); string s2=new String("Hello"); 则(s1==s2)=false 如果: string s1="Hello"; string s2="Hello"; 则(s1==s2)=true; 因为他们指向的同一个对象. 如果把其他变量的值赋给s1和s2,即使内容

java中的==、equals()、hashCode()源码分析(转载)

在java编程或者面试中经常会遇到 == .equals()的比较.自己看了看源码,结合实际的编程总结一下. 1. ==  java中的==是比较两个对象在JVM中的地址.比较好理解.看下面的代码: 1 public class ComAddr{ 2 public static void main(String[] args) throws Exception { 3 String s1 = "nihao"; 4 String s2 = "nihao"; 5 Str