Package io.jenetics
Class IntegerGene
- java.lang.Object
-
- io.jenetics.IntegerGene
-
- All Implemented Interfaces:
BoundedGene<Integer,IntegerGene>
,Gene<Integer,IntegerGene>
,NumericGene<Integer,IntegerGene>
,Factory<IntegerGene>
,Mean<IntegerGene>
,Verifiable
,Serializable
,Comparable<IntegerGene>
public final class IntegerGene extends Object implements NumericGene<Integer,IntegerGene>, Mean<IntegerGene>, Comparable<IntegerGene>, Serializable
NumericGene implementation which holds a 32 bit integer number.This is a value-based class; use of identity-sensitive operations (including reference equality (
==
), identity hash code, or synchronization) on instances ofIntegerGene
may have unpredictable results and should be avoided.- Since:
- 2.0
- Version:
- 6.1
- See Also:
IntegerChromosome
, Serialized Form- Implementation Note:
- This class is immutable and thread-safe.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Integer
allele()
Return the allele of this gene.byte
byteValue()
Returns the value of the specified gene as an byte.int
compareTo(IntegerGene other)
double
doubleValue()
Returns the value of the specified gene as an double.boolean
equals(Object obj)
float
floatValue()
Returns the value of the specified gene as an float.int
hashCode()
int
intValue()
Returns the value of the specified gene as an int.boolean
isValid()
Check if this object is valid.long
longValue()
Returns the value of the specified gene as an long.Integer
max()
Return the allowed max value.IntegerGene
mean(IntegerGene that)
Return the (usually arithmetic) mean value ofthis
andthat
.Integer
min()
Return the allowed min value.IntegerGene
newInstance()
Return a new, random gene with the same type and with the same constraints than this gene.IntegerGene
newInstance(int allele)
Create a new gene from the givenvalue
and the gene context.IntegerGene
newInstance(Integer allele)
Create a new gene from the givenvalue
and the current bounds.IntegerGene
newInstance(Number allele)
Create a new gene from the givenvalue
and the current bounds.static IntegerGene
of(int min, int max)
Create a new randomIntegerGene
.static IntegerGene
of(int allele, int min, int max)
Create a new randomIntegerGene
with the given value and the given range.static IntegerGene
of(int allele, IntRange range)
Create a new randomIntegerGene
with the given value and the given range.static IntegerGene
of(IntRange range)
Create a new randomIntegerGene
.IntRange
range()
Return the range ofthis
gene.short
shortValue()
Returns the value of the specified gene as an short.String
toString()
-
-
-
Method Detail
-
allele
public Integer allele()
Description copied from interface:Gene
Return the allele of this gene.- Specified by:
allele
in interfaceGene<Integer,IntegerGene>
- Returns:
- the allele of this gene.
-
min
public Integer min()
Description copied from interface:BoundedGene
Return the allowed min value.- Specified by:
min
in interfaceBoundedGene<Integer,IntegerGene>
- Returns:
- The allowed min value.
-
max
public Integer max()
Description copied from interface:BoundedGene
Return the allowed max value.- Specified by:
max
in interfaceBoundedGene<Integer,IntegerGene>
- Returns:
- The allowed max value.
-
range
public IntRange range()
Return the range ofthis
gene.- Returns:
- the range of
this
gene - Since:
- 4.4
-
byteValue
public byte byteValue()
Description copied from interface:NumericGene
Returns the value of the specified gene as an byte. This may involve rounding or truncation.- Specified by:
byteValue
in interfaceNumericGene<Integer,IntegerGene>
- Returns:
- the numeric value represented by this object after conversion to
type
byte
.
-
shortValue
public short shortValue()
Description copied from interface:NumericGene
Returns the value of the specified gene as an short. This may involve rounding or truncation.- Specified by:
shortValue
in interfaceNumericGene<Integer,IntegerGene>
- Returns:
- the numeric value represented by this object after conversion to
type
short
.
-
intValue
public int intValue()
Description copied from interface:NumericGene
Returns the value of the specified gene as an int. This may involve rounding or truncation.- Specified by:
intValue
in interfaceNumericGene<Integer,IntegerGene>
- Returns:
- the numeric value represented by this object after conversion to
type
int
.
-
longValue
public long longValue()
Description copied from interface:NumericGene
Returns the value of the specified gene as an long. This may involve rounding or truncation.- Specified by:
longValue
in interfaceNumericGene<Integer,IntegerGene>
- Returns:
- the numeric value represented by this object after conversion to
type
long
.
-
floatValue
public float floatValue()
Description copied from interface:NumericGene
Returns the value of the specified gene as an float. This may involve rounding or truncation.- Specified by:
floatValue
in interfaceNumericGene<Integer,IntegerGene>
- Returns:
- the numeric value represented by this object after conversion to
type
float
.
-
doubleValue
public double doubleValue()
Description copied from interface:NumericGene
Returns the value of the specified gene as an double. This may involve rounding or truncation.- Specified by:
doubleValue
in interfaceNumericGene<Integer,IntegerGene>
- Returns:
- the numeric value represented by this object after conversion to
type
double
.
-
isValid
public boolean isValid()
Description copied from interface:Verifiable
Check if this object is valid.- Specified by:
isValid
in interfaceBoundedGene<Integer,IntegerGene>
- Specified by:
isValid
in interfaceVerifiable
- Returns:
- true if this object is valid, false otherwise.
-
compareTo
public int compareTo(IntegerGene other)
- Specified by:
compareTo
in interfaceBoundedGene<Integer,IntegerGene>
- Specified by:
compareTo
in interfaceComparable<IntegerGene>
-
mean
public IntegerGene mean(IntegerGene that)
Description copied from interface:Mean
Return the (usually arithmetic) mean value ofthis
andthat
. ForNumericGene
s the mean is the arithmetic mean.- Specified by:
mean
in interfaceMean<IntegerGene>
- Parameters:
that
- the second value for calculating the mean.- Returns:
- the mean value of
this
andthat
.
-
newInstance
public IntegerGene newInstance(int allele)
Create a new gene from the givenvalue
and the gene context.- Parameters:
allele
- the value of the new gene.- Returns:
- a new gene with the given value.
- Since:
- 5.0
-
newInstance
public IntegerGene newInstance(Integer allele)
Description copied from interface:BoundedGene
Create a new gene from the givenvalue
and the current bounds.- Specified by:
newInstance
in interfaceBoundedGene<Integer,IntegerGene>
- Specified by:
newInstance
in interfaceGene<Integer,IntegerGene>
- Parameters:
allele
- the value of the new gene.- Returns:
- a new gene with the given value.
-
newInstance
public IntegerGene newInstance(Number allele)
Description copied from interface:BoundedGene
Create a new gene from the givenvalue
and the current bounds.- Specified by:
newInstance
in interfaceNumericGene<Integer,IntegerGene>
- Parameters:
allele
- the value of the new gene.- Returns:
- a new gene with the given value.
-
newInstance
public IntegerGene newInstance()
Description copied from interface:Gene
Return a new, random gene with the same type and with the same constraints than this gene. For all genes returned by this method holdsgene.getClass() == gene.newInstance().getClass()
. Implementations of this method has to use theRandom
object which can be fetched from theRandomRegistry
.- Specified by:
newInstance
in interfaceFactory<IntegerGene>
- Specified by:
newInstance
in interfaceGene<Integer,IntegerGene>
- Returns:
- a new instance of type T
-
of
public static IntegerGene of(int allele, int min, int max)
Create a new randomIntegerGene
with the given value and the given range. If thevalue
isn't within the interval [min, max], no exception is thrown. In this case the methodisValid()
returnsfalse
.- Parameters:
allele
- the value of the gene.min
- the minimal valid value of this gene (inclusively).max
- the maximal valid value of this gene (inclusively).- Returns:
- a new
IntegerGene
with the givenvalue
-
of
public static IntegerGene of(int allele, IntRange range)
Create a new randomIntegerGene
with the given value and the given range. If thevalue
isn't within the interval [min, max], no exception is thrown. In this case the methodisValid()
returnsfalse
.- Parameters:
allele
- the value of the gene.range
- the integer range to use- Returns:
- a new
IntegerGene
with the givevalue
- Throws:
NullPointerException
- if the givenrange
isnull
.- Since:
- 3.2
-
of
public static IntegerGene of(int min, int max)
Create a new randomIntegerGene
. It is guaranteed that the value of theIntegerGene
lies in the interval [min, max].- Parameters:
min
- the minimal valid value of this gene (inclusively).max
- the maximal valid value of this gene (inclusively).- Returns:
- a new random
IntegerGene
-
of
public static IntegerGene of(IntRange range)
Create a new randomIntegerGene
. It is guaranteed that the value of theIntegerGene
lies in the interval [min, max].- Parameters:
range
- the integer range to use- Returns:
- a new random
IntegerGene
- Throws:
NullPointerException
- if the givenrange
isnull
.- Since:
- 3.2
-
-