1 import java.awt.Color;
2
3 public class MaxDemo
4 {
5 public static <E extends Comparable> E max(E[] a)
6 {
7 E largest = a[0];
8 for (int i = 1; i < a.length; i++)
9 {
10 if (a[i].compareTo(largest) > 0)
11 {
12 largest = a[i];
13 }
14 }
15 return largest;
16 }
17
18 public static void main(String[] args)
19 {
20 String[] words = { "Mary", "had", "a", "little", "lamb" };
21
22 Color[] colors = { Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW };
23
24 Integer[] squares = { 1, 4, 9, 16, 25, 36 };
25
26 System.out.println(max(words)); // Calls max<String>
27 // System.out.println(max(colors)); // Error: Color is not Comparable
28 System.out.println(max(squares)); // Calls max<Integer>
29 }
30
31 }