使用Java中的循环创建变量名称?

前端之家收集整理的这篇文章主要介绍了使用Java中的循环创建变量名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
第一次海报,长时间读者所以对我温柔:)

请参阅以下代码,该代码用于生成财务年度中每月开始和结束的时间戳.

int year = 2010;
// Financial year runs from Sept-Aug so earlyMonths are those where year = FY-1 and lateMonths are those where year = FY
int[] earlyMonths = {8,9,10,11}; // Sept to Dec
int earlyYear = year -1;
for (int i : earlyMonths) {
    month = i;
    Calendar cal = Calendar.getInstance();
    cal.clear();
    cal.set(earlyYear,month,1,0);
    Long start = cal.getTimeInMillis();
    cal.clear();
    cal.set(earlyYear,1);
    lastDayofMonth = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
    cal.set(earlyYear,lastDayofMonth,23,59,59);
    Long end = cal.getTimeInMillis();
}
int[] lateMonths = {0,2,3,4,5,6,7}; // Jan to Aug
for (int i : lateMonths) {
    month = i;
    Calendar cal = Calendar.getInstance();
    cal.clear();
    cal.set(year,0);
    Long start = cal.getTimeInMillis();
    cal.clear();
    cal.set(year,1);
    lastDayofMonth = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
    cal.set(year,59);
    Long end = cal.getTimeInMillis();
}

到目前为止这么好,但是为了使用这些结果,我需要将这些时间戳输出到以月命名的变量(稍后在代码中用于预备语句.例如SeptStart = sometimestamp,SeptEnd = some timestamp等等.

我不知道是否可以根据每个循环的结果声明新变量.有任何想法吗?

解决方法

为什么不使用 Map

毕竟你想拥有一个“容器”来获取某个值,并用指定的名称对它进行寻址.

因此,只需将“变量名称”作为您的密钥,将“变量值”作为您的,即ehm值.

编辑,因为你想要一个Sorted集合:

首先,转到Treemap而不是地图.

另外,要保留字典顺序,请将月份数字填充零标准化到左侧,并使用“开始”和“结束”作为分隔符

所以你将拥有:

01_begin
01_end
02_begin
...
10_begin
10_end
...

当您访问树形图时,将以正确的顺序打印.

猜你在找的Java相关文章