2-8的二三事

2-8的二三事

1、装箱。Integer t2=t1;老师,这个怎么理解啊。好像在对象实例化过程中少了一步:new Integer();。Integer t2=t1更像是赋值。

2、装箱。Integer t3=new Integer(t1);老师,Integer类是不是有int类型数值的无参构造?

3、装箱。Integer类是不是重写了toString方法,打印的不再是内存地址信息,而是。。我也不懂为什么会打印数值。

4、拆箱。int t4=t2;老师,这是把包装类对象t2里存储的数值给了t4吗?

5、拆箱。int t5=t2.intValue();课程里说,调用intValue()方法,是把Integer类型的对象的值转换成int类型的值给t5。老师,我不太懂Integer类型的对象的值这一块儿,它难道不是int类型的值吗

6、intValue();这个方法的作用是什么。


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
吃吃吃鱼的猫 2019-06-18 10:18:24

       同学你好,

       hashCode方法是将所有属性通过一系列算法,将所有属性通过计算哈希码来减少属性的重复性。

       equals方法重写后,一般比较的本类中的对象和传入的对象地址,每个属性的内容是否相同,来做到比较属性是否一致的方法。

       包装类中重写了hashCode和equals方法。

       这里同学可以先记住这两个概念,在之后的学习中会用到hashCode和equals方法,同学可以根据它们的用法再去对它们加深理解。

       如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2019-06-17 19:30:11

同学你好,转换为包装类后,包装类存储的也是数值2,但是他一个对象,可以调用一些对象采用的方式,比如equals,hashCode等,如:

http://img1.sycdn.imooc.com//climg/5d0779a400010b0c05130182.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的耐心回复。上面代码中的equals方法和hashCode方法的作用分别是什么呢?并且,equals方法是不是在包装类里被重写了?
    2019-06-17 19:37:15
好帮手慕阿满 2019-06-16 18:29:25

同学你好,拆装箱是指基本数据类型的值和对应的包装类之间的相互转换,Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型。

Integer a = new Integer(4);装箱操作,就是将int类型值转换为Integer类型对象。

int b = a.intValue();拆箱操作,将包装类的对象转换为基本数据类型。

也就是包装类和对应的基本数据类型的转换。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    好的,谢谢老师!我的疑问是,将基本数据类型的数值转换为对应的包装类的对象,那此时包装类的对象是数值吗?我纳闷的是转换后的包装类的对象长什么样子,如将int类型数值2转换成对应的包装类的对象,此时包装类的对象是啥样子的,也是int类型的数值2吗?
    2019-06-17 15:51:13
好帮手慕珊 2019-06-15 18:08:37

同学,你好!下面分别回答你的几个问题:

1、Integer t2=t1;这是JDK自动创建了对象new Integer(t1),并将结果赋值给了t2。这样做让我们写代码更方便

2、int是基本数据类型,Integer是类,只有类才有构造方法。new Integer(t1)调用的是Integer的带参构造,t1是参数。new Integer(t1)肯定不是调用无参构造,无参构造是没有参数的。

3、Integer类是重写了toString()方法,返回了Integer对应的int类型的值

4、你的理解的正确的

5、int t5=t2.intValue();中t2是指向Integer对象的引用,是对象不是基本数据类型的值,需要通过t2.intValue()来获取值

6、intValue()就像你在第5点中提到的,这个方法就是把Integer对象中的整数值取出来,是一个int类型的值。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 鱼儿0001 #1
    谢谢老师的耐心回复,比之前理解的更清楚了。老师,课程里说:装箱是将基本数据类型的值转换成对应包装类的对象。 拆箱是将包装类的对象转换成它对应的基本数据类型的值。 这两句话怎么理解,为什么能将数值转成类的对象,类的对象又能转成数值?
    2019-06-16 14:40:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师