# Interface StringReference

All Superinterfaces:
  `Mirror, ObjectReference, Value`

public interface StringReference extends ObjectReference
A string object from the target VM. A StringReference is an `ObjectReference` with additional access to string-specific information from the target VM.

Since:
  1.3

## Field Summary

### Fields declared in interface ObjectReference

`INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED`
Modifier and Type
Field
Description
`static final int`
`INVOKE_NONVIRTUAL`
Perform non-virtual method invocation
`static final int`
`INVOKE_SINGLE_THREADED`
Perform method invocation with only the invoking thread resumed

## Method Summary

Modifier and Type
Method
Description
`String`
`value()`
Returns the StringReference as a String.

### Methods declared in interface Mirror

`toString, virtualMachine`
Modifier and Type
Method
Description
`String`
`toString()`
Returns a String describing this mirror
`VirtualMachine`
`virtualMachine()`
Gets the VirtualMachine to which this Mirror belongs.

### Methods declared in interface ObjectReference

`disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads`
Modifier and Type
Method
Description
`void`
`disableCollection()`
Prevents garbage collection for this object.
`void`
`enableCollection()`
Permits garbage collection for this object.
`int`
`entryCount()`
Returns the number of times this object's monitor has been entered by the current owning thread if the owning thread is platform thread; Returns 0 if not owned by a platform thread.
`boolean`
`equals(Object obj)`
Compares the specified Object with this ObjectReference for equality.
`Value`
`getValue(Field sig)`
Gets the value of a given instance or static field in this object.
`Map<Field,Value>`
`getValues(List<? extends Field> fields)`
Gets the value of multiple instance and/or static fields in this object.
`int`
`hashCode()`
Returns the hash code value for this ObjectReference.
`Value`
`invokeMethod(ThreadReference thread, Method method, List<? extends Value> arguments, int options)`
Invokes the specified `Method` on this object in the target VM.
`boolean`
`isCollected()`
Determines if this object has been garbage collected in the target VM.
`ThreadReference`
`owningThread()`
Returns a `ThreadReference` for the platform thread, if any, which currently owns this object's monitor.
`ReferenceType`
`referenceType()`
Gets the `ReferenceType` that mirrors the type of this object.
`List<ObjectReference>`
`referringObjects(long maxReferrers)`
Returns objects that directly reference this object.
`void`
`setValue(Field field, Value value)`
Sets the value of a given instance or static field in this object.
`long`
`uniqueID()`
Returns a unique identifier for this ObjectReference.
`List<ThreadReference>`
`waitingThreads()`
Returns a List containing a `ThreadReference` for each platform thread currently waiting for this object's monitor.

### Methods declared in interface Value

`type`
Modifier and Type
Method
Description
`Type`
`type()`
Returns the run-time type of this value.

## Method Details

### value

String value()
Returns the StringReference as a String. The returned string is the equivalent of the mirrored string, but is an entity in the client VM and can be manipulated like any other string.

Returns:
  the string value.