关于2-12的选择题

关于2-12的选择题

我有两个问题:

  1. new Integer(1)+new Integer(2);这个+到底是执行的数值运算还是字符串的拼接

  2. 我用的是myEclipse8.5,  jdk版本1.8.0_92,自动装箱报错,只能手动装箱,然后引用之间相加如three+four也会报错请问可能是什么原因

正在回答

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

2回答

new Integer(1)是把 Integer 类型变量中包装的基本类型取出来,取出来的是基本类型1,+代表数值求和运算。如果编译器是1.5以下,jdk是1.5以下 int a=new Integer(1)中包含了一个自动拆箱,这是在jdk1.5中才引入的机制。方便可以把代码贴出来,帮你查看原因~

  • 幕之内 提问者 #1
    报错就抱在344这个数上,及one+two这个表达式上,错误显示无法将int转换为Integer Integer one = new Integer(122); Integer two = new Integer(455); Integer three = new Integer(577); Integer f = 344;
    2017-06-01 15:31:56
提问者 幕之内 2017-06-01 15:27:24

Integer one = new Integer(122);

Integer two = new Integer(455);

Integer three = new Integer(577);

Integer f = 344;

System.out.println(three==(one+two));



  • 提问者 幕之内 #1
    报错就抱在344这个数上,及one+two这个表达式上,错误显示无法将int转换为Integer,及+未定义
    2017-06-01 15:29:18
  • irista23 回复 提问者 幕之内 #2
    你这几行代码在我们这执行是没问题的,如果错误显示是int和integer之间转换的问题,很可能是你的jdk的问题,确认你IDE里设置的是1.8.0_92版本的jdk
    2017-06-01 15:58:17
  • 提问者 幕之内 回复 irista23 #3
    好的,谢谢!
    2017-06-01 17:30:13
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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