Files
corejava/corejava第11版/v1ch08/genericAlgorithms/Pair.java
T
2019-05-22 19:43:15 +08:00

39 lines
981 B
Java

package genericAlgorithms;
import java.util.function.Supplier;
/**
* @version 1.00 2004-05-10
* @author Cay Horstmann
*/
public class Pair<T>
{
private T first;
private T second;
public Pair() { first = null; second = null; }
public Pair(T first, T second) { this.first = first; this.second = second; }
public T getFirst() { return first; }
public T getSecond() { return second; }
public void setFirst(T newValue) { first = newValue; }
public void setSecond(T newValue) { second = newValue; }
public String toString() { return "(" + first + ", " + second + ")"; }
public static <T> Pair<T> makePair(Supplier<T> constr)
{
return new Pair<>(constr.get(), constr.get());
}
public static <T> Pair<T> makePair(Class<T> cl)
{
try {
return new Pair<>(cl.getConstructor().newInstance(),
cl.getConstructor().newInstance());
}
catch (Exception e) { return null; }
}
}