Core Java Knowledge
JAVA_OPTS
Timezone problem under Linux
Java keystore
SystemOut
Java variable arguments
One can now write a method that accepts variable number of arguments. For example, 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 ();
}
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.ArrayList<String> myFriends = new ArrayList<String>();
myFriends.add("John");
myFriends.add("Peter");
myFriends.add("Mary");
for (String friend : myFriends) {
System.out.println("Hello " + friend);
}
myFriends.add("John");
myFriends.add("Peter");
myFriends.add("Mary");
for (String friend : myFriends) {
System.out.println("Hello " + friend);
}