この次のループがあり、一度だけ実行したいと思います。どうやってやるの?
for (AnnotationData annotations : annotation)
一度実行されるループは、あまりループではありません。
が配列の場合annotations
、を使用して最初の配列を取得しannotations[0]
ます。の場合はList
、実行しますannotations.get(0)
。それ以外の場合は、を実行しますannotations.iterator().next()
。コレクションに少なくとも1つの要素があるかどうかわからない場合は、最初にそれを確認してください。
for
人々がそれらを見るとき、彼らは通常ループを期待するので、これはより明確になるでしょう。実際に、まあ、ループするもの。
ただ抜け出せ!
for (AnnotationData annotation : annotations) {
// do something with "annotation"
break; // only execute loop body once
}
他の答えは、カウンターまたはフラグを使用しています!?最も単純なことを行うために何人かの人々がどれだけのコードを書いているのか、私を驚かすことは決してありません。通常、プログラマーが劣っているほど、より多くのコードを記述します。
一部のコメント提供者は、非ループバージョンでは「コードが少ない」または「行が少ない」と誤解しています。そのような主張は真実ではありません...ここに正確な非ループ等価コードがあります:
if (!annotations.isEmpty()) {
AnnotationData annotation = annotations.get(0);
// do something with "annotation"
}
これは同じ行数を使用しますが、23文字のコードが必要ですが、その意図はより強調されています。
カウンターは必要ありません。break
最後に次のように追加するだけです。
for (AnnotationData annotations : annotation){
//your all code
break;
}
int i=0;
for (AnnotationData annotations : annotation){
if(i==1)
{
break;
}
i++;
}