使用“:”运算符

时间:2011-03-20 15:58:08

标签: java operators

我知道这是一个基本问题,但我读到的所有文档似乎都没有回答我的问题:“:”运算符有什么作用?

我的印象是,如果我执行for(item : list)之类的操作,for循环将遍历列表中的每个项目。这是对的吗?

3 个答案:

答案 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();
}