在Java中使用动态名称分配变量 如何在Java中声明和初始化数组? Java:何时使用静态方法 在Java中使用动态名称分配变量 我想在java中分配一组变量,如下所示: int n1,n2,n3; for(int i=1;i<4;i++) { n<i> = 5; } 我怎样才能在Java中实现这一目标? 这不是你在Java中做事的方式。Java中没有动态变量。必须在源代码中声明Java变量。 根据您要实现的目标,您应该使用数组,a List或a Map; 例如 int n[] = new int[3]; for (int i = 0; i < 3; i++) { n[i] = 5; } List<Integer> n = new ArrayList<Integer>(); for (int i = 1; i < 4; i++) { n.add(5); } Map<String, Integer> n = new HashMap<String, Integer>(); for (int i = 1; i < 4; i++) { n.put("n" + i, 5); } 可以使用反射来动态引用已在源代码中声明的变量。但是,这仅适用于类成员的变量(即静态和实例字段)。它不适用于局部变量。 然而,在Java中不必要地做这种事情是一个坏主意。这是低效的,代码更复杂,并且由于您依赖运行时检查它更脆弱。 这不是“动态名称的变量”。最好用静态名称描述对变量的动态访问。 如何在Java中声明和初始化数组? Java:何时使用静态方法