java中的字符串比较方法

如题所述

  java中的字符串比较方法:
  1)string1.equals(string2)
  2) str1==str2 。
  java中字符串的比较是==比较引用,equals 比较值的做法。但是不同的声明方法字符串的比较结果也是不同的。
例如: String str1=new String("a");
String str2=new String("a");
str1==str2 输出false
str1.equals(str2) 输出true
而如果这样声明
String str1="a";
String str2="a";
str1==str2 输出true
str1.equals(str2) 输出true
这是因为 equals 方法本来也是比较引用的字符串类在实现的时候重写了该方法。
  第一种声明方法等于是声明了两个对象,用’==‘比较是时候比较的是引用输出的是false 由于他们的值相同用equals的时候就比较的是值了,输出true。
  第二种情况不是因为比较有与第一种有差异,而是因为声明有差异,第二种声明方法在声明的时候有堆或堆栈 共用的现象,也就是说 在声明的时候如果如果声明为类属性他会检查在堆栈中有没有与现在声明的是相同结构的字符串。如果有就直接将地址指向已有内存地址。声明在方法内部的局部变量原理一样只不过他是堆栈共享。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-10
A:==怎么用?
**可以用于比较基本数据类型,比较的就是基本数据类型的值是否相等。
**可以用于比较引用数据类型,比较的是对象的地址值是否相等。
B:equals怎么用?
equals只能用于比较引用数据类型的。
**Object提供的equals是用于比较对象地址值是否相同。
**自定义类中,如果重写了equals方法,那么就是按照你自己的需求来比较的。
第2个回答  推荐于2016-09-02
==比较的是字符串对象的内存地址值,equals比较的是字符串的内容是否一样。
所以应该用equals。
另外,字符串String类型 在内存中一旦出现 就不能改变,可以随意操作,操作完,你会发现如果输出原字符串还是原值。本回答被提问者采纳
第3个回答  2012-09-14
一般是用equals ,=不能用于比较字符串,还有就是compareTo
第4个回答  2012-09-12
equals。如:比较str1和str2是否相等。boolean right=str1.equals(str2)

Java字符串比较(3种方法)
在 Java 中,字符串比较是一项基础操作,主要有三种方法:equals()、equalsIgnoreCase() 和 compareTo()。这些方法在比较字符串时各有特点。equals() 方法用于逐字符比较字符串,包括大小写。例如,验证密码一致性时,如:java if (password.equals(repeatedPassword)) { System.out.println("密码一致");...

java中的字符串比较方法
java中字符串的比较是==比较引用,equals 比较值的做法。但是不同的声明方法字符串的比较结果也是不同的。例如: String str1=new String("a");String str2=new String("a");str1==str2 输出false str1.equals(str2) 输出true 而如果这样声明 String str1="a";String str2="a";str1...

Java中CompareTo()方法的详细介绍
在Java中,CompareTo()方法是一个实用工具,用于执行字符串和字符的比较。让我们深入了解它的工作原理:首先,当涉及到单个字符时,CompareTo()会计算两个字符的ASCII值之差。这个方法直接返回这个差值,直观地展现了字符间的排序顺序。其次,当应用于两个字符串时,方法会逐字符进行比较。如果首字符相同...

JAVA如何进行字符串比较?
在JAVA中,字符串比较是基础操作之一。以下是进行字符串比较的简单步骤:首先,创建一个包含main方法的Java类。这一步是为了在程序中运行我们的代码。接着,定义两个字符串变量a和b,赋予相同的值,例如"baidu ABC 我"。在Java中,字符串是通过双引号包围的文本。使用equals()方法来判断a和b是否相等。

JAVA比较两个字符串是否相等用什么
在Java中,判断两个字符串是否相等,你可以使用equals()方法或者"=="操作符。equals()方法主要用于比较字符串的内容是否一致,当检查的只是字符串的字符序列时,这是首选的手段。它的主要作用是检查两个对象是否具有相同的值,而不关心它们是否是同一个对象实例。另一方面,"=="操作符则通常用于比较基本...

java判断两个字符串一字之差的方法
1、equals()方法是Java中常用的一种字符串比较方法。该方法用于比较两个字符串是否相等,如果两个字符串相等,返回true,否则返回false。2、compareTo()方法是一种比较字符串大小的方法。该方法将两个字符串按照字典顺序比较,如果第一个字符串小于第二个字符串,返回一个负数,如果两个字符串相等,返回...

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

java中两个字符串如何比较大小?
第一种直接用字符串类的compareTo方法; t1; int yyyyMMdd" result小于0; );  .parseInt(t2);int int1-int2;Date ; sdf;d1 SimpleDateFormat  .getTime();int result sdf;注;Integer:result等于0,则t1=t2.compareTo(t2);t2; ;Date = d2 = : t2=" d1.getTime(...

Java中比较两个字符串==和.equals()区别
在Java中,==和.equals()都是用于比较字符串是否相等的工具,但它们的运作原理有所不同。==比较的是两个字符串的引用地址,意味着它检查的是变量是否指向同一个内存位置。若两个字符串变量指向同一字符串常量池中的对象,==比较将返回真值;反之,则返回假值。.equals()方法则比较的是字符串的内容...

JAVA中字符s和equalsIgnor
在JAVA中,equals和equalsIgnoreCase是两个用于比较字符串的方法,它们的主要区别在于处理字符的大小写。equals方法默认考虑字符的大小写,只有当两个字符串完全匹配(包括大小写)时,才会返回true。其方法定义如下:public boolean equals(Object anObject)这个方法会检查传入的对象是否为null,并且表示与当前...

相似回答