JavaTuples 元组转换
精华
小牛编辑
185浏览
2023-03-14
元组转换为List/数组
元组可以转换为List/数组,但以类型安全为代价,转换后的列表的类型为 List<Object>/Object[]。
List<Object> list = triplet.toList();
Object[] array = triplet.toArray();
集合/数组转换为元组
可以使用 fromCollection() 方法将集合转换为元组,使用 fromArray() 方法可以将数组转换为元组。
Pair<String, Integer> pair = Pair.fromCollection(list);
Quartet<String,String,String,String> quartet = Quartet.fromArray(array);
如果数组/集合的大小与元组的大小不同,则会发生 IllegalArgumentException。
Exception in thread "main" java.lang.IllegalArgumentException:
Array must have exactly 4 elements in order to create a Quartet. Size is 5
at ...
元组转换为List/数组的示例
在这里,我们将看到如何将元组转换为List/数组,反之亦然:
package cn.xnip;
import org.javatuples.Quartet;
import org.javatuples.Triplet;
import java.util.List;
public class TupleTester {
public static void main(String args[]){
Triplet<String, Integer, String> triplet = Triplet.with(
"Test1", Integer.valueOf(5), "Test2"
);
List<Object> list = triplet.toList();
Object[] array = triplet.toArray();
System.out.println("Triplet:" + triplet);
System.out.println("List: " + list);
System.out.println();
for(Object object: array) {
System.out.print(object + " " );
}
System.out.println();
String[] strArray = new String[] {"a", "b" , "c" , "d"};
Quartet<String, String, String, String> quartet = Quartet.fromArray(strArray);
System.out.println("Quartet:" + quartet);
}
}
输出结果为: