我找到了一个有趣的Lint检查,我无法解释。我知道Java疯狂隐藏的东西,所以我想了解这里发生了什么。也许我可以用超级讨厌的知识给我的朋友留下深刻的印象。
以下是违规代码的摘录:
public void awesomeMethod()
{
final int[] hungryPeople = getHungryPeople();
if ( hungryPeople != null ) // <---- Lint says that this can never be null?
{
solveWorldHunger( true );
tellEveryone( false );
}
}
以下是相关(相关)方法:
public int[] getHungryPeople()
{
// Get hungry people data from the class's Android Intent field
final int[] values = mIntent.getIntArrayExtra( HUNGRY_PEOPLE );
if ( null != values )
{
return Arrays.copyOf( values, values.length );
}
return null;
}
我在这里找不到什么东西?
答案 0 :(得分:2)
您在方法之外返回null
,如果getHungryPeople()
为values
,则需要在null
内返回。
public int[] getHungryPeople()
{
// Get hungry people data from the class's Android Intent field
final int[] values = mIntent.getIntArrayExtra( HUNGRY_PEOPLE );
if ( null != values )
{
return Arrays.copyOf( values, values.length );
}
// if values is null, return null
return null;
}