判断的问题

判断的问题

if(params!=null && params.length>0)这2个条件,不等于null和>0有什么区别?

正在回答

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

2回答

params==null 表示它是空引用。只有当 params!=null才能进一步判断params长度是多少,如果不加非空判断,当params为空时,params.length就会发生空指针异常(运行时异常)。

  • 慕婉清9984016 提问者 #1
    当params==null是,params.length可能为0吗?
    2017-08-11 18:33:25
  • irista23 回复 提问者 慕婉清9984016 #2
    不可能,null.length直接就报空指针异常了
    2017-08-11 18:34:18
  • 慕婉清9984016 提问者 回复 irista23 #3
    if(params!=null && params.length>0),在例子中params是传进来的可变长数组,在什么情况下,第一个式子成立,第二个式子不成立。
    2017-08-11 19:07:26
提问者 慕婉清9984016 2017-08-11 18:32:37

当params==null是,params.length可能为0吗?

  • 当params==null时,是不能引用length属性的,params.length会发生空指针异常。
    2017-08-12 09:17:06
  • 提问者 慕婉清9984016 回复 好帮手慕珊 #2
    if(params!=null && params.length>0),在例子中params是传进来的可变长数组,在什么情况下,if()中第一个式子成立,第二个式子不成立
    2017-08-12 09:49:05
  • 好帮手慕珊 回复 提问者 慕婉清9984016 #3
    params.length==0的时候第一个式子成立,第二个式子不成立。null是表示对象未创建,length==0是表示虽然创建对象了,但是长度是为0的。你是不是认为对象创建了,长度就肯定不为0了啊,其实长度是可以为0的
    2017-08-14 12:10:19
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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