有时候方法要返回两个值,后者多个值,用下面定义的bean结构可以很快的构建出来:
package com.clou.douliu.server.bean;
import java.io.Serializable;
/**
* 值对
* 方法需要返回两个值时,可使用Pair减少代码量
* @author rabbit
*
* @param <F>
* @param <S>
*/
public final class Pair<F, S> implements Serializable
{
private static final long serialVersionUID = 1L;
public F first;
public S second;
public Pair(F f, S s)
{
this.first = f;
this.second = s;
}
/**
* 通过值创建值对
* @param <FT>
* @param <ST>
* @param f
* @param s
* @return
*/
public static <FT, ST> Pair<FT, ST> makePair(FT f, ST s)
{
return new Pair<FT, ST>(f, s);
}
private static <T> boolean eq(T o1, T o2)
{
return o1 == null ? o2 == null : o1.equals(o2);
}
@SuppressWarnings("unchecked")
public boolean equals(Object o)
{
Pair<F, S> pr = (Pair&l