2019.9.17java里关于字符串的==

直接复制图片好了,哈哈

原文图片是educoder里面的

 结果为

 是因为==比较的是两个对象的内存地址,我们知道变量被创建的时候就相当于在内存中开辟空间,而案例中strstr1就是占用的两块不同的空间,所以他们的内存地址是不一致的,在用==符号判断的时候就不相等了,即为false

所以记住对于对象的引用来说==是比较引用的地址,既引用的值

现在在来看一个例子

扫描二维码关注公众号,回复: 7301582 查看本文章

 结果为

 这又是什么原因呢?是因为定义String str = "hello"String str1 = "hello"没有进行对象的创建,而是同时指向的一个对象,所以他们的内存地址是相同的。

问题来了,既然==不能用,那我们应该用什么呢?

在Java中判断两个字符串是否相等,需要使用equals方法;

语法:字符串1.equals(字符串2) 如果字符串1等于字符串2返回true,否则返回false;
例如:

输出: str与str1是否相等true

猜你喜欢

转载自www.cnblogs.com/WildSky/p/11535159.html