當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java JavaTuples with()用法及代碼示例


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類一起使用。



相關用法


注:本文由純淨天空篩選整理自RishabhPrabhu大神的英文原創作品 JavaTuples with() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。