-1

重複の可能性:
Java:コロン(:)演算子は何をしますか?

for (CreditCard cc : credit1)

if (index instanceof RewardCard)

「:」とinstanceofは同じですか?だから私は使うことができますか?

if (index : RewardCard)

また

for (CreditCard cc instanceof credit1)

そうでない場合、誰かが「:」の意味を説明できますか?

4

3 に答える 3

5

それらは同じではありませんinstanceof。オブジェクトのインスタンスが特定のタイプであるかどうかをチェックします。:inは、for (CreditCard cc : credit1)リストをループする簡単な方法です(foreachループ)。

于 2012-07-26T04:00:42.973 に答える
3

まったく違います。

  • for (.. : ..)for-eachループです
  • instanceofランタイムタイプをチェックします
于 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);
    }

ですから、似ているinstanceofとは言えませんfor (SomeType obj : SomeCollection)

于 2012-07-26T04:01:39.383 に答える