java中可以用==来比较两个字符串是否相等吗
java中可以用“==”来比较两个字符串是否相等吗?还是说只能用“equals”来比较另外要比较两个char型的字符是否相等,是用“==”还是“equals”,还是两种方...
java中可以用“==”来比较两个字符串是否相等吗?还是说只能用“equals”来比较
另外要比较两个char型的字符是否相等,是用“==”还是“equals”,还是两种方法都可以用 展开
另外要比较两个char型的字符是否相等,是用“==”还是“equals”,还是两种方法都可以用 展开
6个回答
展开全部
不可以。
==比较字符串是否引用同一地址,如果2个字符串是同一个对象,那可以用==,如果不是同一个对象,只是比较内容是否一致,则不可以用==。
比如:
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2); // true,因为s1和s2是同一个字符串常量abc的引用,是同一个对象地址,所以相同
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // false,因为s1和s2是两个不同的对象,虽然字符串值都是abc,但是用==比较不相同。
展开全部
先说结论,不能。
两个对象进行比较,如果使用==符号,那么比较的是这两个对象的“引用”(类似C语言中指针的概念)。字符串比较,通常情况下比较的是字符串的值而非引用,不同的“引用”是可以对应相同值的,如果这时候用==比较,得出的结论是不相等,但是实际上它们的值是相等的。举例说明:
String a = new String("abc");
String b = new String("abc");
a == b; //false
a.equals(b) // true
通过上面的例子可以看到,虽然两个字符串的值都是"abc",但是用==比较时,它们是不相等的,如果需要比较它们的值,应该使用equals()方法。
如果事情只是像这样的话,那么就简单了……可是还有个东西叫做“字符串常量池”,常量池的机制,会使得在某些情况下,==也能得出正确的结论,就不展开讲了,你只需要记得一点:对象比较的时候,==比较的是引用(指针),要比较对象的值,应当使用equals()方法。
参考:
《Java编程思想 第4版》机械工业出版社 P44-45
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char 是可以用"=="的,这个实验,你可以自己用System.out.print()方法打印一下看看char 对应的数值;
但是字符串的话,在Java 当中,只能用equals()方法进行比较,java不是C#
路过~希望可以帮助你~
但是字符串的话,在Java 当中,只能用equals()方法进行比较,java不是C#
路过~希望可以帮助你~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char只能用==
equals是Object的方法
字符串比较相等一般用equals,不要用==。
equals是Object的方法
字符串比较相等一般用equals,不要用==。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串1.equals(字符串2)
我一般不用==
equals前面放变量 后面放常量
我一般不用==
equals前面放变量 后面放常量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询