我知道这是一个基本问题,但我读到的所有文档似乎都没有回答我的问题:“:”运算符有什么作用?
我的印象是,如果我执行for(item : list)
之类的操作,for循环将遍历列表中的每个项目。这是对的吗?
答案 0 :(得分:6)
是的,你所拥有的是每个声明。你拥有的那个不太正确,如果你有一个List<String>
名单,那么你可以这样做:
for (String item: list) {
System.out.println(item);
}
另外,“:”作为三元表达的一部分还有另一种用途,例如
int i = y < 0 ? 10 : 100;
与:
相同int i;
if (y < 0) {
i = 10;
} else {
i = 100;
}
答案 1 :(得分:4)
是的,没错。它本身并不是一个运算符 - 它是Java 5中引入的enhanced for loop语法的一部分。
答案 2 :(得分:1)
是。如果您有可迭代对象,则可以执行以下操作:
for (Object o : iterableObj) {
o.doSomething();
}
与(例如:)功能相同:
for (int i = 0; i < iterableObj.length(); i++) {
Object o = iterableObj.get(i);
o.doSomething();
}