Generics make your code more flexible and easier to read, and they help you avoid ClassCastExceptions at runtime. Get started with this introduction to using generics with the Java Collections ...
You can write a simple generic launcher in the following way: public class Launcher{ public static void main(String[] args){ if (args.length>0) { try { Command ...
Obviously that doesn't compile, but I hate to make a file FooType.java with just the 5 lines above in it. Obviously that doesn't compile, but I hate to make a file ...