在我做文件流传输的时候
if( !mFile.isEmpty() && (mFile != null)
第一个isEmpty是判断它的size是否为0 , 第二个是判断它是否为空
此时如果 mFile 传入的是空值,在计算 && 的第一个判断条件的时候,就会 抛出空指针异常。
此时如果把 && 换成 & ,
if( !mFile.isEmpty() & (mFile != null)
仍旧会提示错误,因为 & 没有短路功能, 它会计算两个条件,然后 还是会有 空指针异常抛出
此时如果调换二者的位置再用&&的话,
if (mFile != null && !mFile.isEmpty() )
就可以了,因为 && 的短路功能可以帮助 mFile为空的情况时直接跳出,就不会 导致计算到isEmpty 了。