java.rmi.server
public abstract class RemoteObject extends Object implements Remote, Serializable
Modifier | Constructor and Description |
---|---|
protected |
RemoteObject() |
protected |
RemoteObject(RemoteRef newref) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Determine whether this Object is semantically equal
to another Object.
|
RemoteRef |
getRef() |
int |
hashCode()
Get a value that represents this Object, as uniquely as
possible within the confines of an int.
|
String |
toString()
Get the string representation of this remote object.
|
static Remote |
toStub(Remote obj) |
protected RemoteObject()
protected RemoteObject(RemoteRef newref)
public static Remote toStub(Remote obj) throws NoSuchObjectException
NoSuchObjectException
public int hashCode()
Object
There are some requirements on this method which
subclasses must follow:
a.equals(b)
is true, then
a.hashCode() == b.hashCode()
must be as well.
However, the reverse is not necessarily true, and two
objects may have the same hashcode without being equal.Notice that since hashCode
is used in
Hashtable
and other hashing classes,
a poor implementation will degrade the performance of hashing
(so don't blindly implement it as returning a constant!). Also,
if calculating the hash is time-consuming, a class may consider
caching the results.
The default implementation returns
System.identityHashCode(this)
hashCode
in class Object
Object.equals(Object)
,
System.identityHashCode(Object)
public boolean equals(Object obj)
Object
There are some fairly strict requirements on this
method which subclasses must follow:
a.equals(b)
and
b.equals(c)
, then a.equals(c)
must be true as well.a.equals(b)
and
b.equals(a)
must have the same value.a.equals(a)
must
always be true.a.equals(null)
must be false.a.equals(b)
must imply
a.hashCode() == b.hashCode()
.
The reverse is not true; two objects that are not
equal may have the same hashcode, but that has
the potential to harm hashing performance.This is typically overridden to throw a ClassCastException
if the argument is not comparable to the class performing
the comparison, but that is not a requirement. It is legal
for a.equals(b)
to be true even though
a.getClass() != b.getClass()
. Also, it
is typical to never cause a NullPointerException
.
In general, the Collections API (java.util
) use the
equals
method rather than the ==
operator to compare objects. However, IdentityHashMap
is an exception to this rule, for its own good reasons.
The default implementation returns this == o
.
equals
in class Object
obj
- the Object to compare toObject.hashCode()
public String toString()
toString
in class Object
Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)