Pair.java revision f86f25d102340da66b9c7cb6b2d5ecdc0de43ecf
12ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/* GENERATED SOURCE. DO NOT MODIFY. */ 2f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// © 2016 and later: Unicode, Inc. and others. 3f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 42ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/* 52ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 62ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Copyright (C) 2014, International Business Machines Corporation and 72ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * others. All Rights Reserved. 82ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 92ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpackage android.icu.impl; 112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/** 132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A pair of objects: first and second. 142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param <F> first object type 162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param <S> second object type 17836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide Only a subset of ICU is exposed in Android 182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpublic class Pair<F, S> { 202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public final F first; 212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public final S second; 222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller protected Pair(F first, S second) { 242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller this.first = first; 252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller this.second = second; 262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Creates a pair object 302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param first must be non-null 312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param second must be non-null 322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return The pair object. 332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static <F, S> Pair<F, S> of(F first, S second) { 352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (first == null || second == null) { 362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Pair.of requires non null values."); 372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new Pair<F, S>(first, second); 392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Override 422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public boolean equals(Object other) { 432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (other == this) { 442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (!(other instanceof Pair)) { 472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller Pair<?, ?> rhs = (Pair<?, ?>) other; 502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return first.equals(rhs.first) && second.equals(rhs.second); 512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Override 542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int hashCode() { 552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return first.hashCode() * 37 + second.hashCode(); 562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller} 58