我在Java中,这代码空检查中如果条件
return mFingerprintManager.hasEnrolledFingerprints() &&
createKey(DEFAULT_KEY_NAME, true) &&
initCipher(mCipher, DEFAULT_KEY_NAME);
如下所示
return mFingerprintManager.hasEnrolledFingerprints() &&
createKey(DEFAULT_KEY_NAME, true) &&
if (mCipher != null) {
mCipher?.apply { initCipher(this, DEFAULT_KEY_NAME) }
return true
} else {
return false
}
有没有更好的方式来写科特林代码,所以它是一个我已经转化为科特林更简洁?变量mCipher定义为
private var mCipher: Cipher? = null
在类级别。
为什么不科特林Java代码工作的是什么? 'initCipher'没有返回一个'Boolean'吗? – mfulton26
问题是Kotlin抱怨mCipher可能在null检查和initCipher中的访问之间发生了变化。 – Francesc
很高兴看到'initCipher' – voddan