The compareTo() method of a javax.naming.CompoundName class is used to compare this CompoundName with the specified object passed as a parameter. It returns a negative integer, zero, or a positive integer as this CompoundName object is less than, equal to, or greater than the given Object as a parameter. If the passed object is null or not an instance of CompoundName then the ClassCastException is thrown by this method.
Syntax:
public int compareTo(Object obj)
Parameters: This method accepts obj which is the non-null object to compare against.
Return value: This method returns a negative integer, zero, or a positive integer as this Name is less than, equal to, or greater than the given Object.
Exception: This method throw ClassCastException if passed obj is not a CompoundName object.
Below programs illustrate the CompoundName.compareTo() method:
Program 1:
// Java program to demonstrate// CompoundName.compareTo()  import java.util.Properties;import javax.naming.CompoundName;import javax.naming.InvalidNameException;  public class GFG {    public static void main(String[] args)        throws InvalidNameException    {          // need properties for CompoundName        Properties props = new Properties();        props.put("jndi.syntax.separator", ":");        props.put("jndi.syntax.direction",                  "left_to_right");          // create compound name object        CompoundName CompoundName1            = new CompoundName("x:y:z",                               props);        CompoundName CompoundName2            = new CompoundName("x:y:m",                               props);          // apply compareTo()        int value            = CompoundName1                  .compareTo(CompoundName2);          // print value        if (value > 0)            System.out.println(                "CompoundName1 is "                + "greater than CompoundName2");        else if (value < 0)            System.out.println(                "CompoundName1 is "                + "smaller than CompoundName2");        else            System.out.println(                "CompoundName1 is "                + "equal to CompoundName2");    }} |
CompoundName1 is greater than CompoundName2
Program 2:
// Java program to demonstrate// CompoundName.compareTo() method  import java.util.Properties;import javax.naming.CompoundName;import javax.naming.InvalidNameException;  public class GFG {    public static void main(String[] args)        throws InvalidNameException    {          // need properties for CompoundName        Properties props = new Properties();        props.put("jndi.syntax.separator", "@");        props.put("jndi.syntax.direction",                  "left_to_right");          // create compound name object        CompoundName CompoundName1            = new CompoundName(                "x@y@z@M@n",                props);        CompoundName CompoundName2            = new CompoundName(                "x@y@z@M@n",                props);          // apply compareTo()        int value            = CompoundName1                  .compareTo(CompoundName2);          // print value        if (value > 0)            System.out.println(                "CompoundName1 is "                + "greater than CompoundName2");        else if (value < 0)            System.out.println(                "CompoundName1 is "                + "smaller than CompoundName2");        else            System.out.println(                "CompoundName1 is "                + "equal to CompoundName2");    }} |
CompoundName1 is equal to CompoundName2
References: https://docs.oracle.com/javase/10/docs/api/javax/naming/CompoundName.html#compareTo(java.lang.Object)
