我在IDE(JAVA NetBeans)上出现警告,运行时出错,我不明白我在做什么错误。本地隐藏变量字段和空指针异常
该警告是关于一个局部变量的隐藏字段,我只是想创建一个65536位的布尔数组。
public class Main
{
private static boolean[] BusyDevices ;
/* main entry point */
public static void main(String argv[])
{
boolean BusyDevices[]=new boolean[65536];//<-Here the warning
}
public static boolean isDeviceBusy(String deviceIDx)
{
if(deviceIDx.length()>4 || deviceIDx.length()<4)
{
return false;
}
try
{
return BusyDevices[Integer.parseInt(deviceIDx, 16)];
}
catch(Exception e)
{
Print.logException("Error deviceIDx:" + deviceIDx, e);
return false;
}
}
}
我认为我在调整布尔数组的大小时做错了什么;或者可以是转换错误? 另外我需要开始所有位在假状态,这是默认状态吧?
您正在创建一个与您的类级别变量同名的新本地变量。从main()方法中删除第一个'boolean'。是的,该数组将被初始化为全部“假”。 – Kayaman