Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
  
  
    
    
  
  
ObjectMethods
  public
  
  
  
  class
  ObjectMethods
  
    extends Object
  
  
  
  
  
  
  
    
  Bootstrap methods for state-driven implementations of core methods,
 including Object.equals(Object), Object.hashCode(), and
 Object.toString().  These methods may be used, for example, by
 Java compiler implementations to implement the bodies of Object
 methods for record classes.
Summary
| Inherited methods | 
|---|
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        Object | 
      clone()
      Creates and returns a copy of this object.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      finalize()
      Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        Class<?> | 
      getClass()
      Returns the runtime class of this Object. |  
  
  
    | 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notify()
      Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notifyAll()
      Wakes up all threads that are waiting on this object's monitor.
        
    
 |  
  
  
    | 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis, int nanos)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait()
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 |  | 
Public methods
    bootstrap
    
public static Object bootstrap (MethodHandles.Lookup lookup, 
                String methodName, 
                TypeDescriptor type, 
                Class<?> recordClass, 
                String names, 
                MethodHandle... getters)
    
    
    
  Bootstrap method to generate the Object.equals(Object),
 Object.hashCode(), and Object.toString() methods, based
 on a description of the component names and accessor methods, for either
 invokedynamic call sites or dynamic constant pool entries.
 For more detail on the semantics of the generated methods see the specification
 of Record.equals(Object), Record.hashCode() and
 Record.toString().
    
    | Parameters | 
|---|
      
        | lookup | MethodHandles.Lookup: Every bootstrap method is expected to have alookupwhich usually represents a lookup context with the
                     accessibility privileges of the caller. This is becauseinvokedynamiccall sites always provide alookupto the corresponding bootstrap method, but this method just
                     ignores thelookupparameter | 
      
        | methodName | String: the name of the method to generate, which must be one of"equals","hashCode", or"toString" | 
      
        | type | TypeDescriptor: aMethodTypecorresponding the descriptor type
                     for the method, which must correspond to the descriptor
                     for the correspondingObjectmethod, if linking
                     aninvokedynamiccall site, or the
                     constantMethodHandle.class, if linking a
                     dynamic constant | 
      
        | recordClass | Class: the record class hosting the record components | 
      
        | names | String: the list of component names, joined into a string
                     separated by ";", or the empty string if there are no
                     components. Maybe be null, if themethodNameis"equals"or"hashCode". | 
      
        | getters | MethodHandle: method handles for the accessor methods for the components | 
    
    
      | Returns | 
|---|
      
        | Object | a call site if invoked by indy, or a method handle
                     if invoked by a condy | 
    
      
  
 
 
 
  
  
    
  
 
  
    
    
      
       
    
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-10 UTC.
  
  
  
    
      [null,null,["Last updated 2025-02-10 UTC."],[],[]]