All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.webfuse.core.lang.Pair Maven / Gradle / Ivy

/*
 * Copyright [2018] [https://github.com/vipshop/vjtools]
 *
 * Further modifications copyright (c) 2019 by webfuse.cn
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package cn.webfuse.core.lang;

/**
 * 引入一个简简单单的Pair, 用于返回值返回两个元素.
 * 

* copy from vjtools */ public class Pair { private final L left; private final R right; /** * Creates a new pair. */ public Pair(L left, R right) { this.left = left; this.right = right; } public L getLeft() { return left; } public R getRight() { return right; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((left == null) ? 0 : left.hashCode()); return prime * result + ((right == null) ? 0 : right.hashCode()); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } Pair other = (Pair) obj; if (left == null) { if (other.left != null) { return false; } } else if (!left.equals(other.left)) { return false; } if (right == null) { if (other.right != null) { return false; } } else if (!right.equals(other.right)) { return false; } return true; } @Override public String toString() { return "Pair [left=" + left + ", right=" + right + ']'; } /** * 根据等号左边的泛型,自动构造合适的Pair */ public static Pair of(L left, R right) { return new Pair(left, right); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy