`

关于int类型以及equals比较的问题

    博客分类:
  • java
阅读更多
       先来看下面的一段程序:
	object value1=0;        integer value2=0;        long value3=new long(0);	system.out.println(value1.equals(value2));	system.out.println(value1.equals(value3));
 各位在看我下面的答案之前可以先自己判断一下输出的是什么,测试后输出的是:
truefalse
 为什么是这样的输出,这里面有两点内容:
1、object value1=0;这样写的话,默认value1的类型就是integer类型的,各位可以这样输出一下:
system.out.println(value1.getclass());
 输出会是:
class java.lang.integer
 2、我们都知道equals比较的是两个对象的内容是否相同,但是要明确一点,这两个对象的类型是要相同的。
 
根据上面两点的分析,就不难得出上面的输出结果了。
 
不过对于这个还有一个问题,我没想明白,对于:
object value1=0;
 如果没做特殊的说明,会默认value1是integer类型的,也就是说value1的取值不能超过integer的最大值,在myeclipse中直接书写,超过integer的最大取值编译是通不过的,会报out of range错误:
<br><img src="http://dl.iteye.com/upload/attachment/528754/4d5a06d7-f24a-32a5-91d1-6de1e2f93ad2.jpg" alt="">
 
但是我这样书写:
object value1=integer.max_value+200;
  这样写为什么可以,而且有输出:
   -2147483449
对于这点不是很明白,哪位指导一下。
<div>
0
6
分享到:
评论

相关推荐

    ==和equals的比较

    对于值类型,`==` 运算符和 `equals` 方法都是比较值的大小,而对于引用类型,`==` 运算符比较的是引用是否相同,而 `equals` 方法比较的是值是否相同。 例如: ```csharp int a = 5; int b = 5; bool result1 = a...

    equals问题经典

    这里我们将深入探讨`equals()`方法的用法,以及它与`==`的区别,同时解决题目中提出的问题。 **问题一:** 在Java中,`String`类的实例有两种创建方式。一种是直接通过字面量,如`String s1 = "abc";`,这时字符串...

    ==和equals的区别

    Java 中的 == 和 equals 方法的区别 在 Java 中,比较值大小有两种方法:...== 用于比较基本数据类型和引用数据类型的值,而 equals 用于比较对象的内容是否相等。在实际开发中,需要根据具体情况选择合适的比较方法。

    java中long类型转换为int类型-java long转int.pdf

    `long` 类型可以存储更大的值,而 `int` 类型则较小。在处理这两种类型之间的转换时,我们需要注意数据溢出的问题。 1. **向上转换( Widening Conversion)** 从 `int` 转换为 `long` 是一个安全的“向上”转换,...

    ==与equals的比较

    对于基本数据类型,如`int`、`double`等,`==`运算符比较的是它们的值是否相等。例如,`int a = 5; int b = 5;`在这里,`a == b`将返回`true`,因为它们的值相同。 然而,对于引用类型,如`String`、`ArrayList`等...

    3 Java中关于==和equal的区别 以及equals()方法重写

    Java 中关于 == 和 equal 的区别 及其 equals() 方法重写 Java 语言是 Sun 公司的开发成果,其主要特点是可以执行强,与平台的无关性使其实用性更强。但是 Java 中的 == 与 equal 是有区别的。 == 操作符是 Java ...

    java 资料 equals 与== 的区别

    对于基本数据类型,equals 方法不能用于比较,因为基本数据类型没有 equals 方法。 对于引用数据类型,equals 方法比较的是对象的值,而不是内存地址。如果两个对象的值相等,那么 equals 方法将返回 true,否则...

    C#使用Equals()方法比较两个对象是否相等的方法

    在上面的代码示例中,`price` 和 `amount` 都是整型变量,`price.Equals(amount)` 的调用实际上是通过隐式装箱将整型转换为`System.Int32`对象,然后调用`Equals()`方法进行比较。由于 `price` 和 `amount` 都是100...

    winform 重写Equals源码

    6. **使用`IEquatable&lt;T&gt;`接口**:对于更复杂的比较逻辑,还可以实现`IEquatable&lt;T&gt;`接口,提供一个只接受类型为T参数的`Equals`方法。这提供了额外的类型安全性,并允许编译器进行更好的类型检查。 在WinForm应用...

    java 举例分析 equals hashcode 基本类型与基本对象的比较 shot与Short int与Integer long与Long

    举例分析 equals 和 hashcode 方法,hashcode应该怎么样生成 8个基本类型与基本对象的比较:byte与Byte shot与Short int与Integer long与Long float与Float double与Double char与Character

    java中的==和equals()方法1

    在Java编程语言中,了解如何正确使用`==`和`equals()`方法是非常关键的,因为它们在比较对象和基本类型时有不同的行为。下面将详细解释这两个方法的工作原理、使用场景以及一些常见误区。 首先,`==`运算符主要用于...

    Java中的==和equals区别

    但是,这些类也重写了`equals`方法,使其能够比较对象所封装的基本类型的值。 ##### 示例: ```java Integer i = 5; Integer j = 5; System.out.println(i.equals(j)); // 输出 true,Integer类的equals方法比较的...

    字符串比较之 “==”和 “equals”

    首先,"=="运算符在Java中主要用于比较基本类型变量的值,如int、char等。当用于比较对象时,"=="实际上比较的是两个引用(内存地址)是否指向同一个对象。因此,如果两个字符串对象的内容相同,但它们在内存中的...

    java中equals()函数的用法 equals和==的区别

    首先,`==`运算符用于基本类型(如int, char, boolean)的比较,以及引用类型的比较。当用于比较基本类型时,它直接比较数值是否相同;而对于引用类型,`==`比较的是两个变量引用的对象是否是同一个实例,也就是说,...

    == and equals() 的比较 绝对值得看

    这两个运算符在比较基本数据类型(如int、char)时表现相同,但当涉及到对象时,它们的行为就有所不同。 首先,我们要知道在Java中,值类型(如int、char)是存储在内存的栈中,而引用类型(如类实例)的变量实际上...

    重写equals方法

    例如,在 String 类中,equals 方法用于比较两个字符串的内容是否相同,而不是比较它们的引用。 第二种情况:对于采用哈希算法的集合,集合中对象必须重写 hashCode 方法,同时也要重写 equals 方法。这是因为哈希...

    equals方法的重写.docx

    3. **性能考虑**:对于大型对象或复杂类型的比较,应考虑性能问题,尽可能减少不必要的计算。 综上所述,正确地重写`equals`方法对于确保对象的正确比较至关重要,尤其是在涉及到集合框架和其他依赖于对象相等性的...

    equals与==之间的区别

    `==`操作符主要用于比较两个基本类型数据(如int、char等)或引用类型的地址值是否相等。对于基本类型数据,`==`比较的是它们的值是否相等;而对于引用类型,`==`比较的是它们指向的内存地址是否相同,即它们是否...

    Java中equals方法隐藏的陷阱

    在Java编程中,正确实现`equals`方法至关重要,它不仅影响对象的比较逻辑,还直接关系到集合类(如`HashSet`、`HashMap`等)的行为。本文将深入探讨Java中`equals`方法的一些常见陷阱,并提供相应的解决方案。 ####...

    ==和equals方法究竟有什么区别

    首先,`==`运算符主要用于比较基本类型(如int、char、byte等)的值是否相等,或者比较引用类型(如对象实例)的内存地址是否相同。当比较基本类型时,`==`直接比较的是它们的值。例如,如果你有两个整型变量`int a ...

Global site tag (gtag.js) - Google Analytics