java运算符==使用

java运算符==使用,java,operator-keyword,Java,Operator Keyword,可能的重复项: is==可以应用于字符串吗 如果是,那么它对字符串的数据类型有什么用途 换句话说,虽然我们应该使用equal方法来比较两个字符串java,但是在java中字符串的==运算符有什么用途 当您想要比较Java中的对象时,应该使用该方法。操作符==用于比较Java对象中的引用,而不是值 例如: String s1 = "hello"; String s2 = new String("hello"); boolean comp = s1.equals(s2); // correct,

可能的重复项:

is==可以应用于字符串吗

如果是,那么它对字符串的数据类型有什么用途


换句话说,虽然我们应该使用equal方法来比较两个字符串java,但是在java中字符串的==运算符有什么用途

当您想要比较Java中的对象时,应该使用该方法。操作符
==
用于比较Java对象中的引用,而不是值

例如:

String s1 = "hello";
String s2 = new String("hello");
boolean comp = s1.equals(s2); // correct, returns true
comp = s1 == s2; // wrong, returns false

==将不比较字符串的值,而是比较其地址。如果要比较值,请使用equals()方法。

操作符比较两个对象引用。因此,在两个字符串的情况下,它将检查这些对象,并查看它们是否表示内存中相同的位置


.equals()方法比较字符串的内容。

比较对象时,==运算符比较引用是否相同。在基本类型(int、float、double、boolean)中,它实际上比较值。因为字符串是对象,所以最好使用equals()方法如果字符串的两个引用相同,则将进行比较,这可能不相同。equals()方法也被Java集合使用

为true,但yo通常不使用new关键字,因此字符串将被添加到字符串池中,s1==s2为true。@Oscar Gomez-我使用它是为了避免使用一个长示例来输入字符串,这对我来说似乎是不必要的。