Pair.java revision 836e6b40a94ec3fb7545a76cb072960442b7eee9
12ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/* GENERATED SOURCE. DO NOT MODIFY. */ 22ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/* 32ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 42ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Copyright (C) 2014, International Business Machines Corporation and 52ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * others. All Rights Reserved. 62ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 72ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 82ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpackage android.icu.impl; 92ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/** 112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A pair of objects: first and second. 122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param <F> first object type 142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param <S> second object type 15836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide Only a subset of ICU is exposed in Android 16704056c96cc5de08c2425fa1679a5c0a92c5a88eNeil Fuller * @hide All android.icu classes are currently hidden 172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpublic class Pair<F, S> { 192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public final F first; 202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public final S second; 212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller protected Pair(F first, S second) { 232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller this.first = first; 242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller this.second = second; 252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Creates a pair object 292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param first must be non-null 302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param second must be non-null 312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return The pair object. 322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static <F, S> Pair<F, S> of(F first, S second) { 342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (first == null || second == null) { 352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Pair.of requires non null values."); 362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new Pair<F, S>(first, second); 382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Override 412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public boolean equals(Object other) { 422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (other == this) { 432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (!(other instanceof Pair)) { 462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller Pair<?, ?> rhs = (Pair<?, ?>) other; 492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return first.equals(rhs.first) && second.equals(rhs.second); 502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Override 532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int hashCode() { 542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return first.hashCode() * 37 + second.hashCode(); 552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller} 57