我在main函数所在的类中定义了一个公共静态变量“public static LinkedList<ServerThread>[] chatRoom”,然后在main函数中对它赋值“chatRoom[1] = new LinkedList<ServerThread>();chatRoom[2] = new LinkedList<ServerThread>();chatRoom[3] = new LinkedList<ServerThread>();”,一共三个。编译成功,运行时系统报错说赋值时有NullPointerException。为什么?谢谢大家!

解决方案 »

  1.   

    你把代码和 excption 的具体内容帖下
      

  2.   

    public static LinkedList <ServerThread>[] chatRoom= new LinkedList<ServerThread>[3];
      

  3.   

    public static LinkedList <ServerThread>[] chatRoom,这句话只是定义了一个名称为chatRoom的LinkedList的数组,你并没有对它进行实例化,
    当你使用chatRoom[0],chatRoom[1],chatRoom[2],chatRoom[3]的时候,肯定会报错,因为数组中的元素都是没有实例化的,改成下面的写法
    ,应该就没问题了,lz试试看public static LinkedList <ServerThread>[] chatRoom = new LinkedList <ServerThread>[4];
    chatRoom[0] = new LinkedList <ServerThread>();
    chatRoom[1] = new LinkedList <ServerThread>();
    chatRoom[2] = new LinkedList <ServerThread>();
    chatRoom[3] = new LinkedList <ServerThread>();