import java.util.*; import static java.lang.Math.PI; /** Illustrates Java 5 features @author: Akif Eyler */ public class Java5 { /** Typesafe enumeration: objects of class Kind */ enum Kind { zero, negative, positive, fractional } /** Classifies a given Number */ public static Kind kindOf(Number n) { float i = n.floatValue(); if (i == 0) return Kind.zero; if (n instanceof Float || n instanceof Double) return Kind.fractional; return (i < 0)? Kind.negative : Kind.positive; } static Collection bag; //Generics /** Makes a Number Collection from a Number[] */ public static Collection toBag(Number... num) { bag = new ArrayList(); for (Number n : num) bag.add(n); //num is Number[] return bag; } public static void main(String... args) { for (Number n : toBag(0, 10, 0.01, -33333333333333L, PI)) System.out.printf("Number %s is %s \n", n, kindOf(n)); } }