Mutable Primitives¶
These classes augment the Java primitive wrappers with mutable variants¶
Sometimes, we want to return one or more primitive values after a method call in addition to the return value itself. 
As an example, consider a parser that returns the parsed value, but also an index for the character where the parsing stopped.
Often, 'ugly' constructs are used, such as providing a new int[1] to the method, or an AtomicInteger. Both solutions have an internal value thay can be written. Instead of these solutions, djutils-base contains the classes MutableInt, MutableLong, MutableFloat, MutableDouble, MutableShort, MutableByte, and MutableBoolean. The classes can, for instance be used as follows:
  String text = "123.4 m/s";
  MutableInt position = new MutableInt(0);
  double d = parser.parseDouble(text, position);
After parsing, position can for instance contain the first position in the String after the number. This can be used as follows:
  String unit = test.substring(position.get()).trim();
The String unit will contain the value m/s after this call.
Methods for the mutable primitives¶
The MutableInt, MutableLong, MutableFloat, MutableDouble, MutableShort, MutableByte contain the following methods:
| method | meaning | 
|---|---|
| set(value) | set the internal value to value | 
| get() | return the internal value | 
| inc() | increment internal value with 1 | 
| inc(value) | increment internal value with value | 
| dec() | decrement internal value by 1 | 
| dec(value) | decrement internal value by value | 
| mul(value) | multiply internal value by value | 
| div(value) | divide internal value by value | 
The MutableBoolean class contains the following methods:
| method | meaning | 
|---|---|
| set(value) | set the internal value to value | 
| get() | return the internal value | 
| flip() | flip the internal boolean value from true to false or vice versa |