Método instantáneo compareTo() en Java con ejemplos

El método compareTo(Instant otherInstant) de la clase Instant se usa para comparar esta instancia con la instancia pasada como parámetro para verificar si ambas instancias son iguales. La comparación entre ambas instancias se basa en la posición en la línea de tiempo de los instantes. El valor que devolverá este método se determina de la siguiente manera:

  • si esta instancia es mayor que la instancia pasada como parámetro, se devuelve un valor positivo
  • si esta instancia es igual a la instancia pasada como parámetro, entonces se devuelve un cero (0)
  • si esta instancia es menor que la instancia pasada como parámetro, se devuelve un valor negativo.

Sintaxis:

public int compareTo(Instant otherInstant)

Parámetros: Este método acepta un parámetro obligatorio otroInstante que es el otro instante a comparar, y no debe ser nulo.

Valor devuelto: este método devuelve un valor entero de la siguiente manera:

  • si esta instancia es mayor que la instancia pasada como parámetro, se devuelve un valor positivo
  • si esta instancia es igual a la instancia pasada como parámetro, entonces se devuelve un cero (0)
  • si esta instancia es menor que la instancia pasada como parámetro, se devuelve un valor negativo.

Excepción: este método arroja NullPointerException si el otro instante pasado como parámetro es nulo.

Los siguientes programas ilustran el método Instant.compareTo():

Programa 1: Cuando esta instancia es mayor

// Java program to demonstrate
// Instant.compareTo() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create two instance objects
        Instant instant1
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        Instant instant2
            = Instant.parse("2017-10-20T16:55:30.00Z");
  
        // print Instant Values
        System.out.println("Instant1: "
                           + instant1);
        System.out.println("Instant2: "
                           + instant2);
  
        // compare both instant
        int value = instant1.compareTo(instant2);
  
        if (value > 0)
            System.out.println("Instant1 is greater");
        else if (value == 0)
            System.out.println("Instant1 is equal to Instant2");
        else
            System.out.println("Instant2 is greater");
    }
}
Producción:

Instant1: 2018-10-20T16:55:30Z
Instant2: 2017-10-20T16:55:30Z
Instant1 is greater

Programa 2: Cuando el otro Instante pasado como parámetro es mayor

// Java program to demonstrate
// Instant.compareTo() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create two instance objects
        Instant instant1
            = Instant.parse("2017-10-20T16:55:30.00Z");
  
        Instant instant2
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        // print Instant Values
        System.out.println("Instant1: "
                           + instant1);
        System.out.println("Instant2: "
                           + instant2);
  
        // compare both instant
        int value = instant1.compareTo(instant2);
  
        if (value > 0)
            System.out.println("Instant1 is greater");
        else if (value == 0)
            System.out.println("Instant1 is equal to Instant2");
        else
            System.out.println("Instant2 is greater");
    }
}
Producción:

Instant1: 2017-10-20T16:55:30Z
Instant2: 2018-10-20T16:55:30Z
Instant2 is greater

Programa 1: Cuando ambas instancias son iguales

// Java program to demonstrate
// Instant.compareTo() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create two instance objects
        Instant instant1
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        Instant instant2
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        // print Instant Values
        System.out.println("Instant1: "
                           + instant1);
        System.out.println("Instant2: "
                           + instant2);
  
        // compare both instant
        int value = instant1.compareTo(instant2);
  
        if (value > 0)
            System.out.println("Instant1 is greater");
        else if (value == 0)
            System.out.println("Instant1 is equal to Instant2");
        else
            System.out.println("Instant2 is greater");
    }
}
Producción:

Instant1: 2018-10-20T16:55:30Z
Instant2: 2018-10-20T16:55:30Z
Instant1 is equal to Instant2

Programa 4: Mostrar la excepción NullPointer

// Java program to demonstrate
// Instant.compareTo() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create two instance objects
        Instant instant1
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        Instant instant2 = null;
  
        try {
  
            // compare both instant
            int value = instant1.compareTo(instant2);
        }
        catch (NullPointerException e) {
            System.out.println("Exception: " + e);
        }
    }
}
Producción:

Exception: java.lang.NullPointerException

Referencias: https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#compareTo(java.time.Instant)

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *