{{parent page="Java"}} ===Core Java Knowledge=== ==[[JavaOptions JAVA_OPTS]]== ==[[JavaTimezone Timezone problem under Linux]]== ==[[JavaKeystore Java keystore]]== ==[[JavaSystemOut SystemOut]]== ===Java variable arguments=== One can now write a method that accepts variable number of arguments. For example, %%(java) static double average(double ... numbers) { double total = 0; for (int i = 0; i < numbers.length; i++) total += numbers [i]; return total / numbers.length; } static String merge(String ... strings) { StringBuilder sb = new StringBuilder (); for (int i = 0; i < strings.length; i++) sb.append (strings [i]); return sb.toString (); } %% ===Enhanced for loop=== With Java generics, for loops can be simplified. Works on collections and arrays. %%(java) ArrayList myFriends = new ArrayList(); myFriends.add("John"); myFriends.add("Peter"); myFriends.add("Mary"); for (String friend : myFriends) { System.out.println("Hello " + friend); } %%