Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class X implements Comparable2<X> {
- private int x;
- @Override
- public Compare compareTo2(X obj) {
- if(x < obj.x) {
- return Compare.LESS_THAN;
- } else if (x == obj.x ) {
- return Compare.EQUALS;
- } else {
- return Compare.GREATER_THAN;
- }
- }
- }
- enum Compare implements Comparable2<Compare> { LESS_THAN {
- @Override
- public Compare compareTo2(Compare obj) {
- if(obj.ordinal() < this.ordinal()) {
- return LESS_THAN;
- } else if (obj.ordinal() == this.ordinal()) {
- return EQUALS;
- } else {
- return GREATER_THAN;
- }
- }
- }, EQUALS {
- @Override
- public Compare compareTo2(Compare obj) {
- if(obj.ordinal() < this.ordinal()) {
- return LESS_THAN;
- } else if (obj.ordinal() == this.ordinal()) {
- return EQUALS;
- } else {
- return GREATER_THAN;
- }
- }
- }, GREATER_THAN {
- @Override
- public Compare compareTo2(Compare obj) {
- if(obj.ordinal() < this.ordinal()) {
- return LESS_THAN;
- } else if (obj.ordinal() == this.ordinal()) {
- return EQUALS;
- } else {
- return GREATER_THAN;
- }
- }
- }
- }
- interface Comparable2<T> {
- Compare compareTo2(T obj);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement