## com.google.common.collect
Class Interners

    java.lang.Object
      com.google.common.collect.Interners

    @Beta
    public final class Interners

extends Object

Contains static methods pertaining to instances of `Interner`.

Since:
  3.0
Author:
  Kevin Bourrillion

Method Summary

`static

`<E> Function<E,E>`

`

`asFunction(Interner<E> interner)`
Returns a function that delegates to the `Interner.intern(E)` method of the given interner.

`static

`<E> Interner<E>`

`

`newStrongInterner()`
Returns a new thread-safe interner which retains a strong reference to each instance it has interned, thus preventing these instances from being garbage-collected.

`static

`<E> Interner<E>`

`

`newWeakInterner()`
Returns a new thread-safe interner which retains a weak reference to each instance it has interned, and so does not prevent these instances from being garbage-collected.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### newStrongInterner

    public static <E> Interner<E> newStrongInterner()

  Returns a new thread-safe interner which retains a strong reference to each instance it has interned, thus preventing these instances from being garbage-collected. If this retention is acceptable, this implementation may perform better than `newWeakInterner()`. Note that unlike `String.intern()`, using this interner does not consume memory in the permanent generation.

### newWeakInterner

    @GwtIncompatible(value="java.lang.ref.WeakReference")
    public static <E> Interner<E> newWeakInterner()

  Returns a new thread-safe interner which retains a weak reference to each instance it has interned, and so does not prevent these instances from being garbage-collected. This most likely does not perform as well as `newStrongInterner()`, but is the best alternative when the memory usage of that implementation is unacceptable. Note that unlike `String.intern()`, using this interner does not consume memory in the permanent generation.

### asFunction

    public static <E> Function<E,E> asFunction(Interner<E> interner)

  Returns a function that delegates to the `Interner.intern(E)` method of the given interner.

  Since:
    8.0

Copyright © 2010-2012. All Rights Reserved.