0%

Java 泛型 元组的使用

一个方法,只能有一个返回值,如果我们要返回多个对象,不用元组的话,唯一的方法就是建一个类,包含这些对象,然后返回这个类的实例,但这么一来,每个方法,如果返回的对象不同,就得定义一个不同的类。元组,就是定义一个类,包含有指定数目,但不定类型的对象,配合泛型,对象可以是任意类型。

/**
 * 容纳两个对象
 * @param 
 * @param 
 */
public class TwoTuple {
    //定义成final,返回后不可修改
    public final A first;
    public final B second;
    public TwoTuple(A a,B b)
    {
        first=a;
        second=b;
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return first.toString()+second.toString();
    }
}
/**
 * 
 * 容纳三个对象
 *
 * @param 
 * @param 
 * @param 
 */
class ThreeTuple extends TwoTuple{
    public final C third;
    public ThreeTuple(A a,B b,C c)
    {
        super(a, b);
        third=c;
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return super.toString()+third.toString();
    }
}

****使用方法:

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        TwoTuple two=f();
        System.out.println(two);
        System.out.println(two.first);
        System.out.println(two.second);
        
    }
    public static TwoTuple f()
    {
        TwoTuple two=new TwoTuple("asfdsaf", 55535);
        return two;
    }****