创建由方法中生成的变量引用的类的实例

时间:2010-09-06 08:31:11

标签: java class

好的,这就是我需要做的事情:

我正在读取CSV文件,需要为每一行生成一个类的新实例。

然后我需要在List中存储类的引用变量。

我对大部分内容感到满意,但如何使用变量

生成类

类似这样的事情

string newClassName;
int a = 1; //counts number of loops

while (bufferedScanner.hasNextLine());
{
    newClassName = SS + a;

    LightningStorms newClassName = new LightningStorms();

    a = a + 1;

}

我遗漏了很多额外的代码,但它设置了我感兴趣的新课程。

我目前正在学习,这是作业的一部分,所以想要为自己找到最多的东西(问题还有很多,而不是这个)但是我被困了所以任何指导都会非常受欢迎。

非常感谢

2 个答案:

答案 0 :(得分:1)

您可以使用Class.forName()获取特定名称的Class对象的实例 - 这需要是一个完全限定的类,因此java.lang.String不是String

使用类对象,您可以使用反射构建新实例,请参阅Class.getConstructor()

答案 1 :(得分:0)

怎么样:

SortedMap<String, LightningStorms> myMap = new TreeMap<String, LightningStorms>();
while (bufferedScanner.hasNextLine());
{
    String newClassName = SS + a; // or whatever you want
    myMap.put(newClassName, new LightningStorms());
}

在循环结束时,您的CSV文件中的每一行都有一个LightningStorms对象的映射,每个对象都由“生成的变量”引用。您可以使用以下命令访问您的对象:myMap.get(“referenceVariable”)此外,您可以转换为列表并保持键的顺序:

List<LightningStorms> myList = new ArrayList<LightningStorms>(myMap.values());

或者你也可以有一个参考名单:

List<String> myReferences = new ArrayList<String>(myMap.keySet());