java吧 关注:1,255,852贴子:12,745,988
  • 26回复贴,共1

前几天遇到的面试题,有没有大佬来看一下

只看楼主收藏回复

1.为什么要在类的属性中用包装类型,在方法参数中用基本数据类型?
2.什么时候复写toString方法,为什么复写?


IP属地:上海1楼2019-03-29 11:21回复
    springmvc中接受参数封装到对象中,如果你有个值没有,那个值对应的属性是基本类型,那么就会报错,包装类可以赋值null


    IP属地:广东来自Android客户端2楼2019-03-29 11:28
    收起回复
      1包装类型可以赋值为null,基本数据类型不行,但是数据库可以有Null字段。
      2方法参数种用,可能是减少null值的校验。
      3 toString() 这能有为什么,业务需要就复写呗,lombok插件也提供了相应的注解


      IP属地:江西3楼2019-03-29 14:28
      收起回复
        1 基本类型不能为null,有时候null在业务上的意义和-1 0等代码不一样
        2 需要直接用对象打印日志的时候


        IP属地:浙江来自iPhone客户端4楼2019-03-30 08:53
        收起回复
          这是面实习的吗


          IP属地:陕西来自Android客户端5楼2019-03-30 11:17
          收起回复
            因为方法内的基本数据类型,方法执行结束后占用的内存会自动回收,包装类型用在实体类,如果为空就是null,如果用基本数据类型定义,存进去数据库时为空就是0,那么假设价格字段,0是价格为0元还是为空?就区分不出来。


            IP属地:福建来自Android客户端6楼2019-03-30 13:00
            收起回复
              第一问还好,第二问属实有点无聊


              IP属地:北京来自iPhone客户端7楼2019-04-01 18:25
              收起回复
                重写输出格式,包装类是引用传递


                IP属地:北京来自iPhone客户端8楼2019-04-05 10:39
                回复