当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。