按字符串变量命名对象

时间:2014-03-06 12:13:14

标签: java date

想法是获取系统运行的当前年份,然后在年后命名研究记录,并将其称为当前年份。

基本上只需获取字符串变量,然后将其用作对象的名称。我已经看到类似但不准确,因为我想要它并且缺乏我正在寻找的解释。

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.

2 个答案:

答案 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中的值。但这并不是在运行时命名变量。