2016-10-08 66 views
1

对不起,如果这已被张贴在一个不同的标题,我敢肯定,但我没有找到它。如何用Java中的变量字符串名称创建类的实例?

假设你有下面的代码:

public class Main{ 
    public static void main(String[] args) 
    { 
     String[] names = {"James", "Allison"}; 
     int[] ages = {10, 12}; 

     for (int i = 0; i < names.length; i++) 
     { 
      Item names[i] = new Item(ages[i]);//line that will produce the error 
    } 
} 

class Item{ 
    private int age; 

    Item(int theirAge){ 
     age = theirAge; 
    } 
} 

下面这段代码将产生来自名称重复的变量错误[I]变量已经被定义为一个字符串,但现在我们正在努力把它定义作为一个项目。我尝试了很多东西,但似乎无法得到它。

+3

您不能_redefine_变量。如果它被定义为一个'String',它将会_always_是一个'String'并且你不能改变它。 – tkausl

+0

不要尝试在相同范围内重用变量。 Java对这样的事情非常特别。 – scrappedcola

+0

@tkausl好吧,所以这是不可能在Java中呢? – Craig

回答

0
public class Main { 
     public static void main(String[] args){ 
      String[] names = {"James", "Allison"};// variable a 
      int[] ages = {10, 12}; 

      for (int i = 0; i < names.length; i++){ 
       Item names[i] = new Item(ages[i]);//variable b 
      } 
} 

class Item{ 
    private int age; 
    Item(int theirAge){ 
    age = theirAge; 
    } 
} 

因为你有两个变量具有相同的名称,变量a和变量b。对你而言,解决方案是要么更改变量b的名称,要么使用现有变量而不再声明它。但是,在这种情况下,您从A到B的类型不同。您不能使用现有变量。你只需要声明一个新的Item对象,但名称不同。

希望它有帮助。

相关问题