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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。