Java per la sintassi del ciclo: "per (T obj: obj)"
Mi sono imbattuto in una sintassi Java che non ho mai visto prima. Mi chiedevo se qualcuno potesse dirmi cosa sta succedendo qui.
for (ObjectType objectName : collectionName.getObjects())
7 answers
Si chiama per-ognio enhanced for
istruzione. Vedere il JLS §14.14.2.
È zucchero sintattico fornito dal compilatore per l'iterazioneIterable
s e matrici. I seguenti sono modi equivalenti per iterare su un elenco:
List<Foo> foos = ...;
for (Foo foo : foos)
{
foo.bar();
}
// equivalent to:
List<Foo> foos = ...;
for (Iterator<Foo> iter = foos.iterator(); iter.hasNext();)
{
Foo foo = iter.next();
foo.bar();
}
E questi sono due modi equivalenti per iterare su un array:
int[] nums = ...;
for (int num : nums)
{
System.out.println(num);
}
// equivalent to:
int[] nums = ...;
for (int i=0; i<nums.length; i++)
{
int num = nums[i];
System.out.println(num);
}
Ulteriori letture
La variabile objectSummarycontiene l'oggetto corrente di tipo S3ObjectSummaryrestituito da objectListing.getObjectSummaries () e iterare sulla raccolta.
Ecco un esempio di questo enhanced for loop da Tutorial Java
class EnhancedForDemo {
public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
System.out.println("Count is: " + item);
}
}
}
In questo esempio, l'elemento variabile contiene il valore corrente dall'array numbers.
Uscita è la seguente:
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
Spero che questo aiuti !
Sì... Questo è per ogni ciclo in java.
Generalmente questo ciclo diventa utile quando si recuperano dati o oggetti dal database.
Sintassi:
for(Object obj : Collection obj)
{
//Code enter code here
}
Esempio:
for(User user : userList)
{
System.out.println("USer NAme :" + user.name);
// etc etc
}
Questo è per ogni ciclo.
Sarà incrementale automaticamente. uno per uno dalla raccolta ai dati oggetto utente è stato riempito. e lavorare.
Questa è la sintassi per ogni ciclo. Sta scorrendo ogni oggetto nella raccolta restituita da objectListing.getObjectSummaries()
.
Per ogni S3ObjecrSummary in objectListing.getObjectSummaries()
Sta scorrendo ogni elemento della raccolta
Sì, è chiamato il ciclo for-each. Gli oggetti in collectionName verranno assegnati uno dopo l'altro dall'inizio di tale raccolta, al riferimento all'oggetto creato, 'objectName'. Quindi, in ogni iterazione del ciclo, a ' objectName 'verrà assegnato un oggetto dalla raccolta' collectionName'. Il ciclo terminerà una volta quando tutti gli elementi(oggetti) della raccolta 'collectionName' sono stati assegnati o semplicemente gli oggetti da ottenere sono finiti.
Per (ObjectType objectName: collectionName.Ottieni OGGETTI()){ // loop corpo> // Puoi usare 'objectName' qui come necessario e oggetti diversi saranno //reepresentati da esso in ogni iterazione. }
public class ForEachLoopExample {
public static void main(String[] args) {
System.out.println("For Each Loop Example: ");
int[] intArray = { 1,2,3,4,5 };
//Here iteration starts from index 0 to last index
for(int i : intArray)
System.out.println(i);
}
}