【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别

这篇具有很好参考价值的文章主要介绍了【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文章:这里;这里;这里

先上结论

C++中的string类型可以使用==!=来判断两个字符串的值是否相等;而JAVA不行,JAVA中==!=是用来判断两个字符串的地址是否相同(或者说是对象是否相同,即是否为同一个对象)。

C++中string

#include <iostream>
#include <string>
using namespace std;
int main()
{  string s1="abc",s2="abc";
   if(s1==s2) cout<<"s1和s2相等";
   else cout<<"s1和s2不相等"; 
  return 0;
}
  • 运行结果

【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别
结果解释:C++中可以利用==来判断两个字符串的值是否相等。

JAVA中String

package hello;

public class TEMP {
	public static void main(String args[]) throws IOException {
		String s1="abc",s2="abc";
 	   if(s1==s2) System.out.println("s1和s2相等");
 	   else System.out.println("s1和s2不相等");
	}
}
  • 运行结果

【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别
结果解释:JAVA中==来判断两个字符串的地址是否相同(或者说是两个字符串是否是同一对象),由于相同的字符串常量(程序中为"abc")在内存中只会存在一份,所以两个字符串指向的字符串常量是同一个地址,所以根据JAVA中,==来判断两个字符串的地址是否相同的原则可知,s1和s2相等。

package hello;

public class TEMP {
	public static void main(String args[])  {
		String s1=new String("abc"),s2=new String("abc");
 	   if(s1==s2) System.out.println("s1和s2相等");
 	   else System.out.println("s1和s2不相等");
	}
}
  • 运行结果

【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别
结果解释:由于这两个字符串分别创建了两个对象(使用new开辟了两段不同的存储空间,所以两个字符串的的地址也不同,只是两个字符串对象所在地址中存储的数值(字符)相同),所以根据JAVA中,==来判断两个字符串的地址是否相同的原则可知,s1和s2不相等。

package hello;

public class TEMP {
	public static void main(String args[])  {
		String s1=new String("abc"),s2=new String("abc");
 	   if(s1.equals(s2)) System.out.println("s1和s2相等");
 	   else System.out.println("s1和s2不相等");
	}
}
  • 运行结果

【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别
结果解释:JAVA中利用equas()区分大小写)成员函数来判断两字符串的值是否相等。

package hello;

public class TEMP {
	public static void main(String args[])  {
		String s1=new String("abc"),s2=new String("ABC");
 	   if(s1.equalsIgnoreCase(s2)) System.out.println("s1和s2相等");
 	   else System.out.println("s1和s2不相等");
	}
}
  • 运行结果

【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别
结果解释:JAVA中利用equalsIgnoreCase()不区分大小写)成员函数来判断两字符串的值是否相等。

回顾结论

C++与JAVA之间存在着一些区别,我们需要重视区别才能更好地灵活学习和运用不同的编程语言。
总之,C++中可以利用==来判断两个字符串的值是否相等;而JAVA中必须使用String类的成员函数equals()(区分大小写)和equalsIgnoreCase()(不区分大小写)来判断两个字符串的值是否相等文章来源地址https://www.toymoban.com/news/detail-420178.html

到了这里,关于【==是判断相等吗?---错辣】C++和JAVA中判断字符串值相等的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【python基础知识】python中怎么判断两个字符串是否相等

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

    2024年02月08日
    浏览(82)
  • java中比较两字符串是否相等

    字符串比较的三种方式:==,equals,Objects.equals  打印结果 a==b为false 因为两个字符串的索引值不同。 打印结果为  a.equals(b)为true 因为两个字符串的值相同。 所以在java中进行字符串比较时,经常使用equals比较两字符是否相同。一个固定的字符串和字符串数组(或list集合)进行

    2023年04月08日
    浏览(40)
  • Java判断一个字符串是否包含某个字符串

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

    2024年02月13日
    浏览(92)
  • C++ string判断是否包含子字符串

    C++的string类提供了字符串中查找另一个字符串的函数find。 其重载形式为: 功能为在string对象中,查找参数string类型的字符串是否存在,如果存在,返回起始位置。不存在则返回 string::npos 。

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

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

    2024年02月16日
    浏览(91)
  • 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)
  • Java 判断字符串为空的方法

    一.判断方法 if(s == null || s.equals(\\\"\\\")); if(s == null || s.length() == 0); if(s == null || s.isEmpty()); if (s == null || s == \\\"\\\"); 二.哪些情况会抛出空指针异常 s == null 是有必要存在的 String 类型为null, 而去进行 equals(String) 或 length() 等操作会抛出java.lang.NullPointerException. s==null 的顺序必须出现在前面

    2024年02月16日
    浏览(62)
  • 【每日挠头算法题(2)】压缩字符串|仅执行一次字符串交换能否使两个字符串相等

    点我直达~ 使用双指针法 大致过程如下: 使用双指针,分别读(read),写(write)指针,读指针不断向后走,当read指针走到最后位置处时,或read和read的下一个位置与当前位置不相等时,说明该read指针走到了某一串相同子串的最后位置处。 此时write指针开始记录具体的字符

    2024年02月08日
    浏览(50)
  • Java 8 判断日期字符串是否符合指定格式

    可以使用 Java 8 的 DateTimeFormatter 类来判断日期字符串是否符合指定格式。具体代码如下: 如果你不想通过捕获异常的方式来判断日期字符串是否符合指定格式,也可以使用 DateTimeFormatter 类中的 parseUnresolved() 方法来进行解析。具体代码如下: 以上代码中,使用 parseUnresolved(

    2024年02月16日
    浏览(57)
  • java判断字符串是否包含英文,以及英文个数

    在Java中,可以使用正则表达式或字符遍历的方式来判断字符串是否包含英文字符,并统计英文字符的个数。 使用正则表达式判断字符串是否包含英文字符: 这里的正则表达式 “.[a-zA-Z]+.” 表示匹配包含至少一个英文字符的字符串。containsEnglish 的值为 true 表示字符串包含英

    2024年02月13日
    浏览(81)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包