diff --git a/src/main/java/redis/clients/jedis/Tuple.java b/src/main/java/redis/clients/jedis/Tuple.java index 6df12d2f38..dd698e0a36 100644 --- a/src/main/java/redis/clients/jedis/Tuple.java +++ b/src/main/java/redis/clients/jedis/Tuple.java @@ -4,7 +4,7 @@ import redis.clients.util.SafeEncoder; -public class Tuple { +public class Tuple implements Comparable { private byte[] element; private Double score; @@ -38,12 +38,22 @@ public boolean equals(Object obj) { return false; } else if (!Arrays.equals(element, other.element)) return false; - if (Double.doubleToLongBits(score) != Double - .doubleToLongBits(other.score)) - return false; return true; } + public int compareTo(Tuple other) { + if (Arrays.equals(this.element, other.element)) + return 0; + else + return this.score < other.getScore() ? -1 : 1; + } + public int compareTo(Object obj) { + if (getClass() != obj.getClass()) + throw new ClassCastException(); + return compareTo((Tuple) obj); + } + + public Tuple(String element, Double score) { super(); this.element = SafeEncoder.encode(element);