int 与Integer 区别

buptstwyg 2009-09-10 10:21:55

public class test7 {


public static void main(String args[]){
int c = 1;
int d = 1;
Integer r = new Integer(1);
Integer o = new Integer(1);
//System.out.println(a.equals(b));
//System.out.println(a == b);
//System.out.println(a = b);
System.out.println("1".equals(String.valueOf(c)));false
System.out.println(r == o);// true
System.out.println(r.equals(o));// true
System.out.println(r == c);// true
System.out.println(r.equals(Integer.parseInt("1")));// true
System.out.println(r.equals(1));// true
System.out.println(r == 1);true
}




}
为什么????










...全文
334 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
boboaini 2009-09-22
  • 打赏
  • 举报
回复
就知道一个是基本类型,一个是包装类型!!
  • 打赏
  • 举报
回复
基本类型,包装类型,

自动拆装箱。
bigbro001 2009-09-22
  • 打赏
  • 举报
回复
boxing和auto boxing
MournIA 2009-09-22
  • 打赏
  • 举报
回复
六楼的说得对哈,up
ty_sxm78792009 2009-09-22
  • 打赏
  • 举报
回复
装箱 拆箱
Shine_Panda 2009-09-22
  • 打赏
  • 举报
回复
一个基本类型,一个包装类型。
--yan 2009-09-22
  • 打赏
  • 举报
回复
int 和Integer 的区别就是一个没有封装直接从C语言借鉴过来的 一个是封装类
feisua 2009-09-22
  • 打赏
  • 举报
回复
int是基本数据类型,integer是包装类,建议你去查下JDK
d60000522 2009-09-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 rookie001 的回复:]
public class test7 {
   
   
    public static void main(String args[]){
        int c = 1;
        int d = 1;
        Integer r = new Integer(1);
        Integer o = new Integer(1);
        //System.out.println(a.equals(b));
        //System.out.println(a == b);
        //System.out.println(a = b);
        System.out.println("1".equals(String.valueOf(c)));false  ---> true,原因很明确吧
        System.out.println(r == o);// true  ----> false,r 和 o 是栈内存中两个不同的变量,且指向不同对象, 只是对象的属性相同,要输出true,请用equals且重写它
        System.out.println(r.equals(o));// true      ---> 这说明Integer类重写了equals()
        System.out.println(r == c);// true    --->等高手指点,初步觉得是编译器的原因
        System.out.println(r.equals(Integer.parseInt("1")));// true  -->同上
        System.out.println(r.equals(1));// true  --->同上
        System.out.println(r == 1);true    ---》同上
        }
       

       
       
}

[/Quote]
建议看一下该Integer类的源码

equals
public boolean equals(Object obj)比较此对象与指定对象。当且仅当参数不为 null,并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true。

覆盖:
类 Object 中的 equals
参数:
obj - 要比较的对象。
返回:
如果对象相同,则返回 true,否则返回 false。
另请参见:
Object.hashCode(), Hashtable
banleihncj 2009-09-22
  • 打赏
  • 举报
回复
up
holsten32 2009-09-22
  • 打赏
  • 举报
回复
一切皆对象---Integer
lcb521 2009-09-22
  • 打赏
  • 举报
回复
查看下包装类型与原始数据类型的区别
zuoguodang 2009-09-22
  • 打赏
  • 举报
回复
包装类型与原始数据类型的区别,为了效率就有了原始数据类型,为了面向对象就有了包装类型。
clarence0124 2009-09-22
  • 打赏
  • 举报
回复
讨厌喜欢耍小聪明的人
zy_love 2009-09-22
  • 打赏
  • 举报
回复
int 是原始数据类型
Integer是对象,是int的包装类。
greenbird001 2009-09-21
  • 打赏
  • 举报
回复
我不是来灌水的
m_angle_m 2009-09-21
  • 打赏
  • 举报
回复
...自动装箱,解箱问题
sunwayMike 2009-09-21
  • 打赏
  • 举报
回复
Sleeping0804 2009-09-21
  • 打赏
  • 举报
回复
这个东西,我也没弄清楚
lijialong_2009 2009-09-21
  • 打赏
  • 举报
回复
基本数据类型,和包装类没搞清楚啊!
加载更多回复(15)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧