Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-不添加到对象的ArrayList_Java_Arraylist - Fatal编程技术网

Java-不添加到对象的ArrayList

Java-不添加到对象的ArrayList,java,arraylist,Java,Arraylist,我的代码没有向对象[]的数组列表添加新索引 我的代码: System.out.println("started1"); ArrayList<Object[]> toSend = new ArrayList<Object[]>(); System.out.println("started2"); for(Entry<String, Room> map : rooms.

我的代码没有向
对象[]
数组列表添加新索引

我的代码:

            System.out.println("started1");
            ArrayList<Object[]> toSend = new ArrayList<Object[]>();
            System.out.println("started2");
            for(Entry<String, Room> map : rooms.entrySet())
            {
                System.out.println("started3");
                String key = map.getKey();
                Room val = map.getValue();
                System.out.println("started3.1");
                Player owner = players.get(val.getOwnerID());
                System.out.println("started3.125");
                Object[] toAdd = new Object[] {key, val.getRoomName(), val.getCurrentPlayerSize(), val.getMaxPlayers(), owner.getName()};

                System.out.println("started3.15");
                toSend.add(toAdd);
                System.out.println("started3.2");
            }

            System.out.println("started4");
            client.sendEvent("refreshAvailableRooms", toSend);
            System.out.println("started5");
EDIT2:可运行代码

Room.java:

public class Room {
   public String RoomName = "Room Name";
   public int size = 3;
   public int max = 10;
   public String ownerID = "BobSmith";
   public String ID = "Room1";

   public Room() { }
}

Player.java:
public class Player {
   public String ID = "BobSmith";
   public String Name = "Bob";
   public Player() { }
}

Main.java:
public class main {
   private static HashMap<String, Player> players = new HashMap<String, Player>();
   private static HashMap<String, Room> rooms = new HashMap<String, Room>();
   public static void main(String args[]) {
      players.put("BobSmith", new Player());
      rooms.put("Room1", new Room());
      rooms.put("Room2", new Room());
      rooms.put("Room3", new Room());

            System.out.println("started1");
            ArrayList<Object[]> toSend = new ArrayList<Object[]>();
            System.out.println("started2");
            for(Entry<String, Room> map : rooms.entrySet())
            {
                System.out.println("started3");
                String key = map.getKey();
                Room val = map.getValue();
                System.out.println("started3.1");
                Player owner = players.get(val.ownerID);
                System.out.println("started3.125");
                Object[] toAdd = new Object[] {key, val.RoomName, val.size, val.max, owner.Name};

                System.out.println("started3.15");
                toSend.add(toAdd);
                System.out.println("started3.2");
            }

            System.out.println("started4");
   }
}
Room.java:
公共教室{
公共字符串RoomName=“房间名称”;
公共int size=3;
公共int max=10;
公共字符串ownerID=“BobSmith”;
公共字符串ID=“Room1”;
公共房间(){}
}
Player.java:
公开课选手{
公共字符串ID=“BobSmith”;
公共字符串Name=“Bob”;
公共播放器(){}
}
Main.java:
公共班机{
私有静态HashMap players=newhashmap();
private static HashMap rooms=new HashMap();
公共静态void main(字符串参数[]){
players.put(“BobSmith”,新玩家());
房间。放置(“房间1”,新房间());
房间。放置(“房间2”,新房间());
房间。放置(“房间3”,新房间());
System.out.println(“started1”);
ArrayList toSend=新的ArrayList();
System.out.println(“started2”);
for(入口映射:rooms.entrySet())
{
System.out.println(“started3”);
String key=map.getKey();
Room val=map.getValue();
System.out.println(“started3.1”);
玩家所有者=玩家.get(val.ownerID);
System.out.println(“started3.125”);
Object[]toAdd=新对象[]{key,val.RoomName,val.size,val.max,owner.Name};
System.out.println(“started3.15”);
toSend.add(toAdd);
System.out.println(“started3.2”);
}
System.out.println(“started4”);
}
}

请考虑提供一个演示您的问题的示例。这不是一个代码转储,而是您正在做的一个示例,它突出了您所遇到的问题。这将减少混乱和更好的响应停止时是否打印错误?is
System.out.println(started3.125“);
复制粘贴错误或编译错误?@Danny它不打印任何错误。程序的其余部分继续工作,但是在这个特定的函数中,它在该点停止,并且不执行下面的任何操作。@zuc001,您是否尝试过逐行调试代码?以及您在下面的意思“它在该点停止,并且在其下方不执行任何其他操作”?是否抛出错误,但您在调用堆栈的上方添加了
try{}catch(e){}
,但有异常?
Room.java:

public class Room {
   public String RoomName = "Room Name";
   public int size = 3;
   public int max = 10;
   public String ownerID = "BobSmith";
   public String ID = "Room1";

   public Room() { }
}

Player.java:
public class Player {
   public String ID = "BobSmith";
   public String Name = "Bob";
   public Player() { }
}

Main.java:
public class main {
   private static HashMap<String, Player> players = new HashMap<String, Player>();
   private static HashMap<String, Room> rooms = new HashMap<String, Room>();
   public static void main(String args[]) {
      players.put("BobSmith", new Player());
      rooms.put("Room1", new Room());
      rooms.put("Room2", new Room());
      rooms.put("Room3", new Room());

            System.out.println("started1");
            ArrayList<Object[]> toSend = new ArrayList<Object[]>();
            System.out.println("started2");
            for(Entry<String, Room> map : rooms.entrySet())
            {
                System.out.println("started3");
                String key = map.getKey();
                Room val = map.getValue();
                System.out.println("started3.1");
                Player owner = players.get(val.ownerID);
                System.out.println("started3.125");
                Object[] toAdd = new Object[] {key, val.RoomName, val.size, val.max, owner.Name};

                System.out.println("started3.15");
                toSend.add(toAdd);
                System.out.println("started3.2");
            }

            System.out.println("started4");
   }
}