想法是获取系统运行的当前年份,然后在年后命名研究记录,并将其称为当前年份。
基本上只需获取字符串变量,然后将其用作对象的名称。我已经看到类似但不准确,因为我想要它并且缺乏我正在寻找的解释。
Date now = new Date();c // get the current date
String CurrentYearRecord = Integer.toString(now.getYear()); // set a string variable that I will use to name my object
StudyRecord CurrentYearRecord = new StudyRecord(); // name my object the string year that I got from the previous line.
答案 0 :(得分:2)
不幸的是,在Java语言中无法在运行时操作变量名。 这种功能只能在动态语言中使用,如Python或Javascript。
在普通的java中,您可以使用Map来实现您的需求:
Map<String, StudyRecord> records;
// init your map and fill it when relevant
StudyRecord currentYearRecord = records.get(Integer.toString(now.getYear()))
如果您确实需要此功能,请查看Groovy,这是一种在JVM上运行的动态语言,其语法与Java相近。
答案 1 :(得分:0)
您可以使用HashMap
存储您想要的名称作为键,并使用值HashMap
中的值。但这并不是在运行时命名变量。