Because only objects (not primitives) can be stored in Collections data structures, the integer count must be an object, not just an
int
. The natural choice would be the
Integer
wrapper type, but it is
immutable, which means that once an
Integer
object is created, its value can never be changed. But here we need to update the value, so here's a class that stores an int that can be changed.
//////////////////////////////////////////////////////////////// value class Int
/** Utility class to keep int as Object but allow changes (unlike Integer).
* Java collections hold only Objects, not primitives, but need to update value.
* The intention is that the public field should be used directly.
* For a simple value class this is appropriate.
*/
class Int {
//=================================================================== fields
public int value; // Just a simple PUBLIC int.
//============================================================== constructor
/** Constructor
@param value Initial value. */
public Int(int value) {
this.value = value;
}
}
No comments:
Post a Comment