最近看了一遍java编程思想的泛型这部分,接触了元组这个概念,虽然没想到如何应用 不过下记录下来 以备不时之需
元组 就是可以通过调用一次方法 返回多个对象的东西。大家都知道 返回值只能有一个,怎么样能返回多个不同类型的对象呢,在这里就是用到了元组。
官方定义是: 将一组对象直接打包存储于其中的一个单一对象
看一下基本结构:
public class TwoTuple <A,B>
{
public final A first;
public final B second;
public TwoTuple (A a ,B b)
{
first = a;
second = b;
}
public String toString()
{
return "(" + first + ", " + second + ")";
}
}
添加元组中对象,可以依次类推进行
public class ThreeTuple <A,B,C> extends TwoTuple<A, B>
{
public final C third;
public ThreeTuple(A a, B b, C c)
{
super(a, b);
third = c;
}
public String toString()
{
return "(" + first + ", " + second + ", "+ third + ")";
}
}
可以按照此方法创建元组类库,可以返回自己所需要的元组
class Amphibian {}
class Vehicle {}
class ThreeTuple <A ,B ,C> {}
/*
* 通过泛型来创建元组类库
*/
public class TupleTest
{
static TwoTuple <String,Integer> f()
{
return new TwoTuple <String,Integer> ("hi",1);
}
static ThreeTuple <Amphibian,String,Integer> g()
{
return new ThreeTuple <Amphibian,String,Integer> ();
}
}
元组 就是可以通过调用一次方法 返回多个对象的东西。大家都知道 返回值只能有一个,怎么样能返回多个不同类型的对象呢,在这里就是用到了元组。
官方定义是: 将一组对象直接打包存储于其中的一个单一对象
看一下基本结构:
public class TwoTuple <A,B>
{
public final A first;
public final B second;
public TwoTuple (A a ,B b)
{
first = a;
second = b;
}
public String toString()
{
return "(" + first + ", " + second + ")";
}
}
添加元组中对象,可以依次类推进行
public class ThreeTuple <A,B,C> extends TwoTuple<A, B>
{
public final C third;
public ThreeTuple(A a, B b, C c)
{
super(a, b);
third = c;
}
public String toString()
{
return "(" + first + ", " + second + ", "+ third + ")";
}
}
可以按照此方法创建元组类库,可以返回自己所需要的元组
class Amphibian {}
class Vehicle {}
class ThreeTuple <A ,B ,C> {}
/*
* 通过泛型来创建元组类库
*/
public class TupleTest
{
static TwoTuple <String,Integer> f()
{
return new TwoTuple <String,Integer> ("hi",1);
}
static ThreeTuple <Amphibian,String,Integer> g()
{
return new ThreeTuple <Amphibian,String,Integer> ();
}
}