me.lemire.integercompression.IntWrapper Maven / Gradle / Ivy
/**
* This code is released under the
* Apache License Version 2.0 http://www.apache.org/licenses/.
*
*/
package me.lemire.integercompression;
/**
* Essentially a mutable wrapper around an integer.
*
* @author dwu
*/
public final class IntWrapper extends Number {
private static final long serialVersionUID = 1L;
private int value;
/**
* Constructor: value set to 0.
*/
public IntWrapper() {
this(0);
}
/**
* Construction: value set to provided argument.
*
* @param v
* value to wrap
*/
public IntWrapper(final int v) {
this.value = v;
}
/**
* add the provided value to the integer
* @param v value to add
*/
public void add(int v) {
this.value += v;
}
@Override
public double doubleValue() {
return this.value;
}
@Override
public float floatValue() {
return this.value;
}
/**
* @return the integer value
*/
public int get() {
return this.value;
}
/**
* add 1 to the integer value
*/
public void increment() {
this.value++;
}
@Override
public int intValue() {
return this.value;
}
@Override
public long longValue() {
return this.value;
}
/**
* Set the value to that of the specified integer.
*
* @param value
* specified integer value
*/
public void set(final int value) {
this.value = value;
}
@Override
public String toString() {
return Integer.toString(this.value);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy