@Test
void f1() {
String str = "hello";
int i = 15;
float p = 3.14159f;
System.out.println(String.format("%s, %d, %x, %.3f", str, i, i, p));
}
// 输出,%x为16进制输出,小数会四舍五入
hello, 15, f, 3.142
元组
返回多个对象时,可以新建一个类,在这个类中定义几个对象的实例变量,然后返回这个类的对象。
不足:这个类不能通用,如果另一个方法返回了不同类型的对象,又要新建一个类。
所谓元组,就是将一组对象打包存储于其中的一个单一对象,这个容器对象可以读取其中的元素,但是不允许向其中存储新的对象。
// 二个元素的元组
public class Tuple2<T1, T2> {
public final T1 _1;
public final T2 _2;
public Tuple2(T1 t1, T2 t2) {
this._1 = t1;
this._2 = t2;
}
@Override
public String toString() {
return String.format("[%s, %s]", _1, _2);
}
public static void main(String[] args) {
Tuple2<String, Integer> tuple2 = new Tuple2<>("hello", 1);
System.out.println(tuple2);
// 输出:[hello, 1]
}
}
// 三个元素的元组
class Tuple3<T1, T2, T3> extends Tuple2<T1, T2> {
public final T3 _3;
public Tuple3(T1 t1, T2 t2, T3 t3) {
super(t1, t2);
this._3 = t3;
}
@Override
public String toString() {
return String.format("[%s, %s, %s]", _1, _2, _3);
}
public static void main(String[] args) {
Tuple3<Integer, Float, String> tuple3 = new Tuple3<>(1, 3.14f, "hello");
System.out.println(tuple3);
// 输出:[1, 3.14, hello]
}
}