Intent 默认值判断1、使用 hasExtra 方法先判断IntentintentnewIntent(this,ReceiveDataActivity.class);intent.putExtra(price,19.99);startActivity(intent);IntentintentgetIntent();doublepriceintent.getDoubleExtra(price,0.0);if(intent.hasExtra(price)){Log.i(TAG,price 存在);}else{Log.i(TAG,price 不存在使用默认值);}Log.i(TAG,price: price);# 输出结果 price 存在 price: 19.99IntentintentnewIntent(this,ReceiveDataActivity.class);startActivity(intent);IntentintentgetIntent();doublepriceintent.getDoubleExtra(price,0.0);if(intent.hasExtra(price)){Log.i(TAG,price 存在);}else{Log.i(TAG,price 不存在使用默认值);}Log.i(TAG,price: price);# 输出结果 price 不存在使用默认值 price: 0.02、使用包装类接收1基本介绍使用 getSerializableExtra 方法配合包装类对象通过 null 来判断2演示IntentintentnewIntent(this,ReceiveDataActivity.class);intent.putExtra(price,19.99);startActivity(intent);IntentintentgetIntent();Doubleprice(Double)intent.getSerializableExtra(price);if(price!null){Log.i(TAG,price 存在);Log.i(TAG,price: price);}else{Log.i(TAG,price 不存在);}# 输出结果 price 存在 price: 19.99IntentintentnewIntent(this,ReceiveDataActivity.class);startActivity(intent);IntentintentgetIntent();Doubleprice(Double)intent.getSerializableExtra(price);if(price!null){Log.i(TAG,price 存在);Log.i(TAG,price: price);}else{Log.i(TAG,price 不存在);}# 输出结果 price 不存在3、使用特殊值1基本介绍确定发送方永远不会传递某个特殊值用它做默认值2演示IntentintentnewIntent(this,ReceiveDataActivity.class);intent.putExtra(price,19.99);startActivity(intent);IntentintentgetIntent();doublepriceintent.getDoubleExtra(price,Double.MIN_VALUE);if(price!Double.MIN_VALUE){Log.i(TAG,price 存在);}else{Log.i(TAG,price 不存在使用默认值);}Log.i(TAG,price: price);# 输出结果 price 存在 price: 19.99IntentintentnewIntent(this,ReceiveDataActivity.class);startActivity(intent);IntentintentgetIntent();doublepriceintent.getDoubleExtra(price,Double.MIN_VALUE);if(price!Double.MIN_VALUE){Log.i(TAG,price 存在);}else{Log.i(TAG,price 不存在使用默认值);}Log.i(TAG,price: price);# 输出结果 price 不存在使用默认值 price: 4.9E-3244、Bundle 检查IntentintentnewIntent(this,ReceiveDataActivity.class);intent.putExtra(price,19.99);startActivity(intent);IntentintentgetIntent();Bundlebundleintent.getExtras();if(bundlenull){Log.i(TAG,bundle 不存在);return;}doublepricebundle.getDouble(price,0.0);if(bundle.containsKey(price)){Log.i(TAG,price 存在);}else{Log.i(TAG,price 不存在使用默认值);}Log.i(TAG,price: price);# 输出结果 price 存在 price: 19.99IntentintentnewIntent(this,ReceiveDataActivity.class);intent.putExtra(userId,1001);startActivity(intent);IntentintentgetIntent();Bundlebundleintent.getExtras();if(bundlenull){Log.i(TAG,bundle 不存在);return;}doublepricebundle.getDouble(price,0.0);if(bundle.containsKey(price)){Log.i(TAG,price 存在);}else{Log.i(TAG,price 不存在使用默认值);}Log.i(TAG,price: price);# 输出结果 price 不存在使用默认值 price: 0.0