Documentation of 'javolution37.javolution.lang.Immutable' Java class
Immutable
javolution37.javolution.lang

Interface Immutable

  • All Known Implementing Classes:
    CharSet, Text


    public interface Immutable

    This interface identifies classes whose instances are not subject or susceptible to change or variation after creation. Once a class is declared immutable, any subclass must ensure immutability as well.

    Immutable objects can safely be used in a multi-threaded environment and do not require defensive copying. For example:

         class Polygon implements Immutable {
              private List<Point2D> _vertices;
              public Polygon(List<Point2D> vertices) {
                  _vertices = (vertices instanceof Immutable) ?
                       vertices : // Safe, the vertices cannot be modified by the client.
                       new FastTable<Point2D>(vertices); // Defensive copying required.
              }
         }

    See Also:
    Wikipedia: Immutable Object

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.