-1

可能重复:
Java:冒号 (:) 运算符有什么作用?

for (CreditCard cc : credit1)

&

if (index instanceof RewardCard)

“:”和instanceof一样吗?所以我可以使用?

if (index : RewardCard)

或者

for (CreditCard cc instanceof credit1)

如果没有,有人可以解释“:”是什么意思吗?

4

3 回答 3

5

它们不一样:instanceof检查 Object 的实例是否属于某种类型。:in是循环列表(循环)的for (CreditCard cc : credit1)一种简短方法。foreach

于 2012-07-26T04:00:42.973 回答
3

一点也不,它们完全不同。

于 2012-07-26T04:01:08.697 回答
1
for (CreditCard cc : credit1)

它的意思是

for each CreditCard IN credit1, lets call it cc and use it somehow

并且只要它与为给定集合声明的类相同,您就可以使用类 CreditCard。

    List<Parent> list = new ArrayList<Parent>();
    list.add(new Parent());
    list.add(new Child());

    for (Child parent : list) { // compilation error!  - Type mismatch: cannot convert from element type Parent to Child
        System.out.println(parent);
    }

所以instanceoffor (SomeType obj : SomeCollection)甚至不相似

于 2012-07-26T04:01:39.383 回答