Método JavaTuples with()

El método with() en org.javatuples se usa para instanciar una tupla de una manera semánticamente elegante, con los valores dados como parámetros. Este método se puede utilizar para cualquier objeto de clase de tupla de la biblioteca javatuples. Este método es una función estática en cada clase javatuple y devuelve el objeto de clase tuple de la clase llamada, con los valores inicializados por los valores correspondientes en los argumentos.

Sintaxis:

public static <A, B, ..> <em>TupleClass<A, B, ..> with(A a, B b, ..)

Parámetros: Este método toma n valores como parámetros donde:

  • n : representa el número de valores en función de la TupleClass (Unidad, Par, etc.) utilizada.
  • A a – representa el tipo para el primer valor en A y su valor correspondiente en a.
  • B b : representa el tipo para el segundo valor en B y su valor correspondiente en b.
  • .
    .
    y así.

Valor devuelto: este método devuelve el objeto de TupleClass , que llama al método, con los valores pasados ​​como parámetros.

Excepciones: este método arroja una RuntimeException en los siguientes casos:

  • Cuando los valores pasados ​​no coinciden con los tipos esperados en TupleClass
  • Cuando el número de valores pasados ​​es menor de lo esperado en TupleClass
  • Cuando el número de valores pasados ​​es más de lo esperado en TupleClass

Los siguientes programas ilustran las diversas formas de usar los métodos with():

Programa 1: cuando el método with() se usa correctamente, aquí con la clase Unit:

// Below is a Java program to create
// a Unit tuple from with() method
  
import java.util.*;
import org.javatuples.Unit;
  
class GfG {
    public static void main(String[] args)
    {
        // Using with() method to instantiate unit object
        Unit<String> unit = Unit.with("GeeksforGeeks");
  
        System.out.println(unit);
    }
}

Producción:

[GeeksforGeeks]

Programa 2: cuando los valores pasados ​​no coinciden con los tipos esperados:

// Below is a Java program to create
// a Unit tuple from with() method
  
import java.util.*;
import org.javatuples.Quartet;
  
class GfG {
    public static void main(String[] args)
    {
        // Using with() method to instantiate unit object
        Quartet<Integer, String, String, Double> quartet
            = Quartet.with(Double.valueOf(1),
                           "GeeksforGeeks",
                           "A computer portal",
                           Double.valueOf(20.18));
  
        System.out.println(quartet);
    }
}

Producción:

Exception in thread "main" java.lang.RuntimeException: 
Uncompilable source code - incompatible types: inference variable A has incompatible bounds
    equality constraints: java.lang.Integer
    lower bounds: java.lang.Double
    at MainClass.GfG.main]

Programa 3: cuando el número de valores pasados ​​es menor de lo esperado :

// Below is a Java program to create
// a Unit tuple from with() method
  
import java.util.*;
import org.javatuples.Quartet;
  
class GfG {
    public static void main(String[] args)
    {
        // Using with() method to instantiate unit object
        Quartet<Integer, String, String, Double> quartet
            = Quartet.with(Integer.valueOf(1),
                           "GeeksforGeeks",
                           "A computer portal");
  
        System.out.println(quartet);
    }
}

Producción:

Exception in thread "main" java.lang.RuntimeException: 
Uncompilable source code - Erroneous sym type: org.javatuples.Quartet.with
    at MainClass.GfG.main

Programa 4: cuando el número de valores pasados ​​es más de lo esperado :

// Below is a Java program to create
// a Unit tuple from with() method
  
import java.util.*;
import org.javatuples.Quartet;
  
class GfG {
    public static void main(String[] args)
    {
        // Using with() method to instantiate unit object
        Quartet<Integer, String, String, Double> quartet
            = Quartet.with(Integer.valueOf(1),
                           "GeeksforGeeks",
                           "A computer portal",
                           Double.valueOf(20.18),
                           Integer.valueOf(1));
  
        System.out.println(quartet);
    }
}

Producción:

Exception in thread "main" java.lang.RuntimeException: 
Uncompilable source code - Erroneous sym type: org.javatuples.Quartet.with
    at MainClass.GfG.main

Nota: Del mismo modo, se puede utilizar con cualquier otra clase JavaTuple.

Publicación traducida automáticamente

Artículo escrito por RishabhPrabhu 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 *