有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何检查Parcelable是否为NULL

我正在主要活动中接收包裹物品。我试过使用

 if((Task)getIntent().getExtras().getParcelable(Create.TASK_KEY) != null)

在试图拿到包裹前检查。不幸的是,这导致应用程序崩溃,出现空指针异常。在尝试检索包裹之前,如何检查以确保其可用


共 (2) 个答案

  1. # 1 楼答案

    你可以用

      if (getIntent().hasExtra(Create.TASK_KEY)) {
    
      }
    

    只有当内部bundle不为null并且您有一个带有作为参数提供的键的对象时,它才会返回true

    正如@kcopock中正确指出的,您还可以在bundle中放置一个null对象

      Task task = null;
      if ((task = getIntent().getParcelableExtra(Create.TASK_KEY)) != null) {
         // do something with task
      }
    
  2. # 2 楼答案

    我认为getExtras正在返回null值,因此您的代码会导致NullPointerException。尝试检查附加值是否为空值:

    Bundle extras = getIntent().getExtras();
    if(extras != null && extras.getParcelable(Create.TASK_KEY) != null) {
        ...
    }