org.javatuples中的with()方法用于以语义优美的方式实例化元组,并以值作为参数。此方法可用于javatuples库的任何tuple类对象。此方法是每个javatuple类中的静态函数,它返回被调用类的tuple类对象,其值由参数中的相应值初始化。
用法:
public static <A, B, ..> <em>TupleClass<A, B, ..> with(A a, B b, ..)
参数:此方法将n个值作为参数,其中:
- n-表示基于使用的TupleClass(单元,对等)的值的数量。
- a-代表A中第一个值的类型以及a中对应的值。
- b-在B中代表第二个值的类型,在b中代表其对应的值。
。
。
等等。
返回值:该方法返回TupleClass对象,该对象调用该方法,并将传递的值作为参数。
异常:在以下情况下,此方法将引发RuntimeException:
- 当传递的值与TupleClass中的预期类型不匹配时
- 当传递的值数小于TupleClass中的预期值时
- 当传递的值数超过TupleClass中的预期值时
以下示例程序旨在说明使用with()方法的各种方法:
程序1:正确使用with()方法时,此处使用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);
}
}
输出:
[GeeksforGeeks]
程序2:当传递的值与期望的类型不匹配时:
// 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);
}
}
输出:
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]
程序3:当传递的值数量小于预期的数量时:
// 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);
}
}
输出:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type:org.javatuples.Quartet.with at MainClass.GfG.main
程序4:当传递的值数超出预期时:
// 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);
}
}
输出:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type:org.javatuples.Quartet.with at MainClass.GfG.main
注意:类似地,它可以与任何其他JavaTuple类一起使用。
相关用法
- Java JavaTuples add()用法及代码示例
- Java JavaTuples contains()用法及代码示例
- Java JavaTuples equal()用法及代码示例
- Java JavaTuples toString()用法及代码示例
- Java JavaTuples getValue()用法及代码示例
- Java JavaTuples getSize()用法及代码示例
- Java JavaTuples containsAll()用法及代码示例
- Java JavaTuples fromIterable()用法及代码示例
- Java JavaTuples fromCollection()用法及代码示例
- Java JavaTuples compareTo()用法及代码示例
- Java JavaTuples addAtX()用法及代码示例
- Java JavaTuples setAtX()用法及代码示例
- Java JavaTuples setKey()用法及代码示例
- Java JavaTuples getKey()用法及代码示例
- Java JavaTuples getLabel()用法及代码示例
注:本文由纯净天空筛选整理自RishabhPrabhu大神的英文原创作品 JavaTuples with() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。