for (String id : ids) { String[] locations = {"左侧", "中间", "右侧"}; String[] ids2 = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"}; for (String id2 : ids2) { int index = (Integer.parseInt(id) - 1) % 3; //计算id所属位置的数组下标 String localName = locations[index]; titleCell.setCellValue(damName + localName + "浸润线监测点" + id); } } 优化一下
时间: 2023-07-19 15:47:59 浏览: 23
可能的优化包括:
1. 将数组声明为常量,避免每次循环都创建一个新数组对象:
```java
private static final String[] LOCATIONS = {"左侧", "中间", "右侧"};
private static final String[] IDS2 = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"};
```
2. 将计算id所属位置的数组下标提取出来,避免重复计算:
```java
int index = (Integer.parseInt(id) - 1) % 3; //计算id所属位置的数组下标
for (String id2 : IDS2) {
String localName = LOCATIONS[index];
titleCell.setCellValue(damName + localName + "浸润线监测点" + id);
}
```
3. 可以考虑使用 enhanced for 循环替代普通 for 循环,使代码更简洁:
```java
for (String id : ids) {
int index = (Integer.parseInt(id) - 1) % 3; //计算id所属位置的数组下标
for (String localName : LOCATIONS) {
for (String id2 : IDS2) {
titleCell.setCellValue(damName + localName + "浸润线监测点" + id);
}
}
}
```