-5
A
回答
0
作为评论安迪中,JLS指出运算符“==”确实用于引用类型比较也为数值类型和布尔类型比较。
int是数字类型。
当比较数字类型的值进行比较(未引用)。
但是,如果你想确定是否两个整数的引用是等价的,而不是值那么你可以使用整数类。这个类简单地包装了原始数字型INT。
现在考虑下面的代码:
public class TestClass {
public static void main(String[] args)
{
Integer A = new Integer(1);
Integer B = new Integer(1);
Integer C = A;
if (A == B) System.out.println("Won't print."); // (1)
if (A.equals(B)) System.out.println("WILL Print!!!"); // (2)
if (A == C) System.out.println("WILL Print!!!"); // (3)
}
}
- 因为A和B是对象,所述参考A的是相对于参考B.的即使它们INT值是相同的,因为它们是独立引用这种说法是错误的。
- 的等于方法比较每个整数对象的INT值并因此是真实的。
- 整数对象 C引用了对象 A.因此,该参考比较将是真实的。
相关问题
- 1. Java运算符是如何工作的?
- 2. =>运算符vs =运算符
- 3. 运算符重载如何为赋值运算符工作?
- 4. 运算符>>和运算符>>>在java中有什么区别?
- 5. 定时运算符+,运算符,运算符*和运算符/
- 6. Java |运算符
- 7. Java“&”运算符
- 8. Java运算符? :
- 9. Java =运算符
- 10. C++运算符 - >
- 11. Java三元运算符不工作?
- 12. Prolog'=='运算符不工作?
- 13. C++速记操作符 - >运算符()
- 14. C++重载运算符<<和运算符>>
- 15. 按位运算符如何工作?
- 16. 'in'运算符如何为Python工作?
- 17. 模运算符是如何工作的?
- 18. '&'运算符是如何工作的?
- 19. ::运算符如何在Ruby中工作?
- 20. python:运算符%和[::]如何工作?
- 21. JavaScript按位运算符如何工作?
- 22. 使用运算符>>
- 23. Haskell(>>)运算符
- 24. PHP运算符 - >和=>
- 25. PHP运算符' - >'$ foo-> {''}
- 26. 使用`**`作为运算符运算符快速运行,运算符'-`
- 27. Java int'through'int运算符?
- 28. ^运算符在java
- 29. Java - 'this'运算符
- 30. ++运算符在Java
它不仅用于比较引用:如[JLS]中所述(https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.21 ),它是一个数字相等运算符,一个布尔相等运算符*和*一个引用相等运算符。 –
实际上并不是我刚标记(重新打开)的那个的副本;但你应该阅读http://stackoverflow.com/q/8790809/3788176。 –
原始值没有位置,它们只有一个值。 –