for 循环 java 代码的解释
explanation of a for loop java code
谁能给我详细解释一下这是怎么回事;我对 ?
:
感到困惑
for (int i = 0; i < datasize; i++) {
String data1value = data1.size() > i ? data1.get(i) : null;
String data2value = data2.size() > i ? data2.get(i) : null;
String data3value = data3.size() > i ? data3.get(i) : null;
三元 运算符用于防止在此处获得IndexOutOfBoundsException
。如果 Collection
的大小比当前索引 i
大 >
,则通过 get(i)
分配该值,否则分配 null
.
如果您直接将值分配为
String data1value = data1.get(i);
如果循环运行超过 Collection
中的项目数,您的代码 可能 中断。
那个? : Java 中的运算符是 returns 两个值之一的表达式。
在Java中你可以写
if (a > b) {
max = a;
}
else {
max = b;
}
根据单个条件将单个变量设置为两个状态之一是 if-else 的常见用法,因此已经为其设计了一个快捷方式,即条件运算符 ?:。使用条件运算符,您可以像这样在一行中重写上面的示例:
max = (a > b) ? a : b;
它们被用作 Ravi Thapliyal 回复中提出的原因。
谁能给我详细解释一下这是怎么回事;我对 ?
:
for (int i = 0; i < datasize; i++) {
String data1value = data1.size() > i ? data1.get(i) : null;
String data2value = data2.size() > i ? data2.get(i) : null;
String data3value = data3.size() > i ? data3.get(i) : null;
三元 运算符用于防止在此处获得IndexOutOfBoundsException
。如果 Collection
的大小比当前索引 i
大 >
,则通过 get(i)
分配该值,否则分配 null
.
如果您直接将值分配为
String data1value = data1.get(i);
如果循环运行超过 Collection
中的项目数,您的代码 可能 中断。
那个? : Java 中的运算符是 returns 两个值之一的表达式。
在Java中你可以写
if (a > b) {
max = a;
}
else {
max = b;
}
根据单个条件将单个变量设置为两个状态之一是 if-else 的常见用法,因此已经为其设计了一个快捷方式,即条件运算符 ?:。使用条件运算符,您可以像这样在一行中重写上面的示例:
max = (a > b) ? a : b;
它们被用作 Ravi Thapliyal 回复中提出的原因。