Signed-off-by: yunfeiyanggzq <yunfeiyang@buaa.edu.cn>master
@@ -1,5 +1,7 @@ | |||||
package com.alibaba.csp.sentinel.util.function; | package com.alibaba.csp.sentinel.util.function; | ||||
import java.util.Objects; | |||||
/** | /** | ||||
* A tuple of 2 elements. | * A tuple of 2 elements. | ||||
*/ | */ | ||||
@@ -31,11 +33,30 @@ public class Tuple2<R1, R2> { | |||||
return new Tuple2<R2, R1>(this.r2, this.r1); | return new Tuple2<R2, R1>(this.r2, this.r1); | ||||
} | } | ||||
@Override | |||||
public boolean equals(Object o) { | |||||
if (this == o) { | |||||
return true; | |||||
} | |||||
if (!(o instanceof Tuple2)) { | |||||
return false; | |||||
} | |||||
Tuple2 that = (Tuple2) o; | |||||
return Objects.equals(this.r1, that.r1) && Objects.equals(this.r2, that.r2); | |||||
} | |||||
@Override | |||||
public int hashCode() { | |||||
int result = r1 != null ? r1.hashCode() : 0; | |||||
result = 31 * result + (r2 != null ? r2.hashCode() : 0); | |||||
return result; | |||||
} | |||||
@Override | @Override | ||||
public String toString() { | public String toString() { | ||||
return "Tuple2{" + | return "Tuple2{" + | ||||
"r1=" + r1 + | |||||
", r2=" + r2 + | |||||
'}'; | |||||
"r1=" + r1 + | |||||
", r2=" + r2 + | |||||
'}'; | |||||
} | } | ||||
} | |||||
} |
@@ -0,0 +1,29 @@ | |||||
/* | |||||
* Copyright 1999-2019 Alibaba Group Holding Ltd. | |||||
* | |||||
* 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 com.alibaba.csp.sentinel.util.function; | |||||
import org.junit.Assert; | |||||
import org.junit.Test; | |||||
public class Tuple2Test { | |||||
@Test | |||||
public void testSwap() { | |||||
Tuple2 tupleOld = new Tuple2(1, 2); | |||||
Tuple2 tupleNew = tupleOld.swap(); | |||||
Assert.assertEquals(new Tuple2(2, 1), tupleNew); | |||||
} | |||||
} |