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