@Override
	public String toString() {
		return new String(toArray());
	}
Maps the gene alleles of this chromosome, given as {@code char[]} array,
by applying the given mapper function {@code f}. The mapped gene values
are then wrapped into a newly created chromosome.
{@snippet lang="java":
final CharacterChromosome chromosome = null; // @replace substring='null' replacement="..."
final CharacterChromosome uppercase = chromosome.map(Main::uppercase);

static int[] uppercase(final int[] values) {
    for (int i = 0; i < values.length; ++i) {
        values[i] = Character.toUpperCase(values[i]);
    }
    return values;
}
}

@since 6.1

@param f the mapper function
@return a newly created chromosome with the mapped gene values
@throws NullPointerException if the mapper function is {@code null}.
@throws IllegalArgumentException if the length of the mapped
        {@code char[]} array is empty or doesn't match with the allowed
        length range
jenetics/src/main/java/io/jenetics/CharacterChromosome.java