java Chuck没有界限
起初是开玩笑,但我真的不明白为什么我的程序没有崩溃:
public class ChuckNorris {
char[] array;
public boolean HaveBounds(int i)
{
System.out.println("Because Chuck Norris knows no bounds.");
return false;
}
public ChuckNorris()
{
array = null;
}
public char getArrayId(int i)
{
return array[i];
}
}
public class Main {
public static void main(String[] args) {
int i = 12;
ChuckNorris chuckNorris = new ChuckNorris();
if(chuckNorris.HaveBounds(i))
{
char test = chuckNorris.getArrayId(i);
System.out.println(test);
}
}
}
# 1 楼答案
因为您返回
false
因此你永远无法到达
尝试访问阵列的
如果它返回
true
,您将在对的调用中得到一个NullPointerException
因为
array
是null