好的,这就是我需要做的事情:
我正在读取CSV文件,需要为每一行生成一个类的新实例。
然后我需要在List中存储类的引用变量。
我对大部分内容感到满意,但如何使用变量
生成类类似这样的事情
string newClassName;
int a = 1; //counts number of loops
while (bufferedScanner.hasNextLine());
{
newClassName = SS + a;
LightningStorms newClassName = new LightningStorms();
a = a + 1;
}
我遗漏了很多额外的代码,但它设置了我感兴趣的新课程。
我目前正在学习,这是作业的一部分,所以想要为自己找到最多的东西(问题还有很多,而不是这个)但是我被困了所以任何指导都会非常受欢迎。
非常感谢
答案 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());