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