この課題について説明していただけますか?どういう意味ですか?
boolean activityExists = testIntent.resolveActivity(pm) != null;
が返されないtrue場合は割り当てることを意味し、そうでない場合は割り当てます。testIntent.resolveActivity(pm)nullfalse
これの理解できる長い形式は
boolean activityExists;
if(testIntent.resolveActivity(pm) != null) {
activityExists = true;
} else {
activityExists = false;
}
testIntent.resolveActivity(pm)nullかどうかをチェックします。nullでない場合、activityExistsの値はになります。trueそれ以外の場合はfalse。
activityExistsそうでないtrue場合は正確になります。testIntent.resolveActivity(pm)null
によって返される値が。でない場合にのみ割り当てactivityExistsられます。それ以外の場合は、に設定されます。truetestIntent.resolveActivity(pm)nullactivityExistsfalse
基本的に、そのブール値がtrueの場合、何らかのアクティビティがあることを意味します(resolveActivityメソッドから返されるアクティビティはnullではなく、存在します)。たとえば、resolveActivityがnull(nothing)を返した場合、== nullのようにfalseになりますが、null以外の有効なアクティビティを返した場合、trueになります。
testIntent.resolveAvtivity(pm)何かを返します。「null」でない場合は、activityExists = true。nullを返す(何も返さないことを意味する)場合は、activityExists = false。
testIntent.resolveActivity(pm) != nullブール式に解決されます。メソッドresolveActivity(pm)が返すものはすべて、と比較されnullます。等しい場合は、falseを返します。等しくない場合は、trueを返します。
この比較の結果は、後でコードで使用するブール値に割り当てることができます。必要がない限り、毎回比較する必要はありません。