java中比较两字符串是否相等

这篇具有很好参考价值的文章主要介绍了java中比较两字符串是否相等。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

字符串比较的三种方式:==,equals,Objects.equals

==判断字符串的索引值是否相同

public class StringTest {
	public static void main(String[] args) {
		String a=new String("abc");
		String b=new String("abc");
		if(a==b) {                //使用“==”来判断两字符串
			System.out.println("a==b为true");
		}else {
			System.out.println("a==b为false");
		}
		
	}
}

 打印结果

a==b为false

因为两个字符串的索引值不同。

equals判断两个字符串的值是否相同

public class StringTest {
	public static void main(String[] args) {
		String a=new String("abc");
		String b=new String("abc");
		if(a.equals(b)) {
			System.out.println("a.equals(b)为true");
		}else {
			System.out.println("a.equals(b)为false");
		}
		
	}
}

打印结果为 

a.equals(b)为true

因为两个字符串的值相同。

所以在java中进行字符串比较时,经常使用equals比较两字符是否相同。一个固定的字符串和字符串数组(或list集合)进行比较时,为了避免空指针异常。采用将固定的字符串放在左边的写法,如下:

public class StringTest {
	public static void main(String[] args) {
		String[] strs= {null,"a","b",null,null};
		//判断“a”是否包含在字符串数组中
		for(int i=0;i<strs.length;i++) {
			if("a".equals(strs[i])) {
				System.out.println("“a”包含在字符串数组strs中");
				break;
			}
		}
	}
}

打印结果

“a”包含在字符串数组strs中

如果将 if中的判断语句写成strs[i].equals("a")则会出现空指针异常。

当左右两边的字符串都无法保证不为空时,可以使用Objects.equals()

import java.util.Objects;
public class StringTest {
	public static void main(String[] args) {
		boolean res1=Objects.equals(new String("a"), new String("a"));
		boolean res2=Objects.equals("a", "a");
		boolean res3=Objects.equals(null, null);//注意当两边都为空时,结果为true
		System.out.println(res1);
		System.out.println(res2);
		System.out.println(res3);
		
	}
}

打印结果为

true
true
true

 Objects.equals()判断的也是字符串的值,但要注意当两个字符串都为空时,判断为true。文章来源地址https://www.toymoban.com/news/detail-400180.html

到了这里,关于java中比较两字符串是否相等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js 判断两个字符串是否相等(有两种方法)

    使用比较运算符判断两个字符串是否相等 可以使用比较运算符 === 或 == 来判断两个字符串是否相等。例如: 在上述代码中,我们定义了两个字符串变量 str1 和 str2 ,并使用 === 运算符来比较它们的值。如果两个字符串相等,则输出 两个字符串相等 ;否则输出 两个字符串不相

    2024年02月05日
    浏览(74)
  • 区块链 以太坊 solidity 如何比较2个字符串相等

    不能直接return a == b;,因为Solidity是不支持两个字符串直接比较的。 将string类型转换为bytes类型,它实际上是一个字节数组,每一个字节是可以直接比较,因此只要所有的字节都能相等,就代表两个字符串相等。 https://github.com/WeBankBlockchain/SmartDev-Contract/blob/master/docs/miscs/tutor

    2024年02月11日
    浏览(52)
  • 【python基础知识】python中怎么判断两个字符串是否相等

    目录 有哪些判断方法 1. == 运算符 2. is 运算符 有哪些特殊情况 1. 字符串中包含空格、换行符、制表符等特殊字符 2. 字符串编码格式的不同 3. 字符串对象的创建方式不同 注意事项 1. 避免使用is运算符进行字符串比较 2. 注意空格、换行符、制表符等特殊字符的影响 3. 注意字符

    2024年02月08日
    浏览(80)
  • 【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别

    参考文章:这里;这里;这里 C++中的 string 类型可以使用 == 和 != 来判断两个字符串的值是否相等;而JAVA不行,JAVA中 == 和 != 是用来 判断两个字符串的地址是否相同 (或者说是 对象是否相同 ,即 是否为同一个对 象)。 运行结果 结果解释 :C++中可以利用 == 来判断两个字符

    2023年04月21日
    浏览(56)
  • 判断字符串是否为回文的三种常用编程语言实现

    引言:回文是一种具有镜像对称性的字符串,即它从左到右读和从右到左读是相同的。回文可以在文学、语言学、数学、计算机科学等领域中得到广泛应用。在计算机科学中,判断一个字符串是否为回文是一项基本的算法挑战。在本文中,我们将介绍三种常见的编程语言中用

    2024年02月03日
    浏览(52)
  • Java判断一个字符串是否包含某个字符串

    开发过程中,有时会判断一个字符串是否包含某个字符串的操作,这里总结判断方法。 方式一:contains()方法         理解:contains() 方法用于判断字符串中是否包含指定的字符或字符串。(判断一个字符串是否包含某个字符串)         语法:public boolean contains(CharSequence

    2024年02月13日
    浏览(92)
  • Java判断一个字符串是否包含某个字符

    1 问题 如何利用Java通过不同的方法来判断一个字符串是否包含某个字符。 2 方法 .contains方法 这个是利用java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列,此方法返回true,如果此字符串包含,否则返回false。 (2).indexOf方法 这一个是利用java.lang.Str

    2024年02月16日
    浏览(91)
  • Java语言:字符型的详解、字符串的比较

    目录 前言 一.字符型的知识 二.字符型比较大小 三.字符串比较 equals()方法 equalslgnoreCase()方法 compareTo() 方法 🎁博主介绍:博客名为tq02,已学C语言、JavaSE,目前学了MySQL和JavaWeb 🎥学习专栏:  C语言         JavaSE       MySQL基础 🎄博主链接:tq02的博客_CSDN博客-C语言,Ja

    2024年02月13日
    浏览(68)
  • Java字符串比较的方法(3种)

    equals()方法将两个字符串每个字符是否相同进行逐一比较,若相同返回true反之返回false,对于字符的大小写也在检查范围内,equals()方法格式如下:str1.equals(str2); equalsIgnoreCase()方法与equals()方法完全相同,唯一不同是equalsIgnoreCase()方法比较时不区分大小写,equalsIgnoreCase()方法格

    2024年02月15日
    浏览(74)
  • java判断某个字符串是否在字符串数组中的方法(4种)

    public class Demo {     public static boolean useLoop(String[] arr, String targetValue) {         for (String s : arr) {             if (s.equals(targetValue)) return true;         }         return false;     }       public static void main(String[] args) {         String arr[] = {\\\"aa\\\", \\\"bb\\\", \\\"cc\\\"};       

    2024年02月11日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包