If you can go with a list, one option would be:
public final static List<String> COLOR_NAMES = Collections.unmodifiableList(
Arrays.asList("red", "green"));
You can always get an array if needed:
String[] array = COLOR_NAMES.toArray(new String[0]);
Otherwise your second option is fine although I would write it:
private final String[] COLOR_NAMES = {"red", "green"};
public static String[] getColorNames() { return COLOR_NAMES.clone(); }