|
Java 2 Útikalauz programozóknak 5.0 | ||||||||
ELŐZŐ CSOMAG KÖVETKEZŐ CSOMAG | MEGOSZTVA EGY LAPON |
Változó argumentumszámú metódusokfejezet példaprogramjai.
Tovább lásd:
részletes leírás
A Változó argumentumszámú metódusok
fejezet példaprogramjai.
A Java 5.0 verziójában jelent meg az előre nem rögzített számú argumentummal rendelkező metódusok (variable arity parameters, varargs) írásának lehetősége. Ha korábban arra volt szükség, hogy egy metódusnak különböző számú paramétert adhassunk át, megoldhattuk ezt a metódus túlterhelésével, vagy a paraméterek tömbbe csomagolásával. Mint látni fogjuk, az új nyelvi elem is ezekre a módszerekre épít.Tartalomjegyzék a hivatkozott referenciákkal és felhasznált képekkel:
static void üdvözöl(String név) { System.out.println("Szia "+név+"!"); } static void üdvözöl(String név1, String név2) { System.out.println("Szia "+név1+" és "+név2+"!"); } üdvözöl("Anna"); üdvözöl("Anna", "Béla"); |
static void üdvözöl(String[] nevek) for(int i : nevek) System.out.println("Szia "+nevek[i]+"!"); } String[] névsor = {"Anna", "Balázs", "Csaba"}; üdvözöl( névsor ); |
static void üdvözöl(String... nevek) { for(int i=0; i |
static void f(String s, char c, int... i) {} f("alma",'z'); f("körte",'v',1); f("szilva",'u',1,2); |
üdvözöl(new String[] {"Anna", "Balázs", "Csaba"}); |
static void kiír(int... számok) { System.out.print("Számok: "); for(int szám: számok) System.out.print(szám+" "); System.out.println(); } static void kiír(int szám) { System.out.println("Egy argumentum..."); } kiír(); // Számok: kiír(1); // Egy argumentum... kiír(1,2); // Számok: 1 2 kiír(new int[] {1}); // Számok: 1 |
static int max(int első, int... többi) { int max = első; for(int i: többi) if(max < i) max = i; return max; } |
// Veszélyes megoldás! static int max(int... számok) { int max = számok[0]; for(int i: számok) if(max < i) max = i; return max; } int maximum = max(adatok); |
static int max(int... számok) { if(számok.length==0) throw new IllegalArgumentException("Üres számsorozat"); int max = számok[0]; for(int i: számok) if(max < i) max = i; return max; } |
static void leír(Object arg) { System.out.println(arg.getClass()); } Object obj1 = "egy"; Object obj2 = new Integer(1); Object[] obj3 = {"egy","kettő","három"}; leír(obj1); // eredmény: class java.lang.String leír(obj2); // eredmény: class java.lang.Integer leír(obj3); // eredmény: class [Ljava.lang.Object; |
static void listáz(Object... args) { for(Object arg: args) System.out.println(arg.getClass()); } listáz(obj1, obj2, obj3); listáz(obj3); // eredmény: class java.lang.String 3* egymás után! listáz((Object)obj3); // Egyetlen tömb objektumként. listáz((Object[])obj3); // Három String értékként. |
printf
printf(String format, Object... args); for(int i=1; i<3; ++i) System.out.printf("%d gyöke %f\n",i,Math.sqrt(i)); Calendar cal=Calendar.getInstance(TimeZone.getDefault()); System.out.printf("Most %1tY év %1tm hónap %1td napján %1tH:%1tM van.%n", cal.getTime()); //eredmény: Most 2008 év 10 hónap 22 napján 15:14 van. |
|
Java 2 Útikalauz programozóknak 5.0 | ||||||||
ELŐZŐ CSOMAG KÖVETKEZŐ CSOMAG | MEGOSZTVA EGY LAPON |