ModuleDesc (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.lang.constant, interface: ModuleDesc
Keywords: java.lang.constant.ModuleDesc interface

# Interface ModuleDesc

public sealed interface ModuleDesc
A nominal descriptor for a `Module` constant.

To create a `ModuleDesc` for a module, use the `of(String)` method.

See Java Virtual Machine Specification:
  4.4.11 The CONSTANT_Module_info Structure
Since:
  21

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object o)`
  Compare the specified object with this descriptor for equality.
  `String`
  `name()`
  Returns the module name of this `ModuleDesc`.
  `static ModuleDesc`
  `of(String name)`
  Returns a `ModuleDesc` for a module, given the name of the module.

- ## Method Details

  - ### of

    static ModuleDesc of(String name)
    Returns a `ModuleDesc` for a module, given the name of the module.
    Parameters:
      `name` - the module name
    Returns:
      a `ModuleDesc` describing the desired module
    Throws:
      `NullPointerException` - if the argument is `null`
      `IllegalArgumentException` - if the name string is not in the correct format
    See Java Virtual Machine Specification:
      4.2.3 Module and Package Names

  - ### name

    String name()
    Returns the module name of this `ModuleDesc`.
    Returns:
      the module name

  - ### equals

    boolean equals(Object o)
    Compare the specified object with this descriptor for equality. Returns `true` if and only if the specified object is also a `ModuleDesc` and both describe the same module.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `o` - the other object
    Returns:
      whether this descriptor is equal to the other object
    See Also:
      - `Object.hashCode()`
      - `HashMap`