java中的==表示什么?

时间:2014-10-14 06:12:12

标签: java string

什么是" =="在Java?为什么我只能将数值数据类型与它进行比较,并且可以比较字符。但不是字符串数据类型。当我比较两个字符串时它提供了什么?

4 个答案:

答案 0 :(得分:1)

==比较引用相等:如果其操作数在堆栈上具有相同的值,则返回true。 (也就是说,它们是相同的数字量,或者它们指向同一个对象)

字符串是对象,所以我们在这里询问它们是否指向堆栈中的同一个对象。如果我们谈论代码中定义的字符串文字,那将是真的: 如果我们有

String s1 = "Hello";
String s2 = "Hello";

然后s1 == s2 =>真

但是,如果其中一个字符串是通过某些运行时进程(例如用户输入)获得的,那么即使两个字符串的内容相同,它也不会是引用相同的。

答案 1 :(得分:0)

Java ==比较引用两个参考值。如果左侧参考等于右侧参考将返回true其他false

当你来比较String(对象)时,你应该使用equals()

为什么?

String a= new String("a");
String b= new String("a");

此处ab按值相同,但它们有两个不同的引用。

答案 2 :(得分:0)

如果您与对象(字符串是对象)进行比较,您将比较两个对象的引用。

答案 3 :(得分:0)

Java中的'=='运算符用于比较类似的变量(如整数和另一个整数)。由于过于复杂的原因,字符串被视为“对象”类型变量。要比较字符串,请使用运算符variableString.equals(otherString);