java - 我无法理解高级 For-Loop 的工作原理
问题描述
我了解到 Advanced_For_Loop 可以正好采用两个表达式。我不知道当它有三个时它是如何工作的。我的意思是:for(表达式 1:表达式 2:表达式 3)。而且我不知道它是如何在这段代码中迭代的......
private Sheet fieldVsTime(Workbook wb, String _title,List<PivotField>
_pivots, List<PivotField> _all,boolean _periods,Map<String, String>
_yAxesMapping) {
for (PivotField pivot : _all == null ? _pivots : _all) {
List<PivotField> list = pivot.getPivot();
if (list != null) {
for (PivotField pivotField : list) {
int publishDate = Integer.parseInt(pivotField.getValue().toString());
if (_periods) {
publishDate = (publishDate / 10) * 10;
}
if (publishDate < minYear) {
minYear = publishDate;
}
if (publishDate > maxYear) {
maxYear = publishDate;
}
}
}
}
解决方案
它只有两种表达方式:
for (PivotField pivot : (_all == null ? _pivots : _all))
---------------- -------------------------------
1 2
第二个表达式(_all == null ? _pivots : _all)
返回_pivots
或_all
,取决于是否_all == null
。
推荐阅读
- python - 按升序打印出 3 个随机数
- adonis.js - 如何在adonis js中配置cors
- javascript - Chartjs在回调函数中更改x轴中的特定标签颜色
- r - 每列最常见的元素
- alexa - 我们可以让Alexa在给定时间后像警报一样说出一句话吗?
- javascript - 如何从图像源字符串中获取源的一部分?
- pipeline - snakemake 总是在第 44 行报告“ MissingOutputException,5 秒后丢失文件:
- crystal-reports - 合并水晶报表组内的数据
- php - 我想在考试结果中显示第 1、第 2、第 3 的位置
- python - 与日期时间索引条件合并