编写Java程序,创建Comparator<T>类,在其中编写isEqual()方法用于判断两个同类型的值是否相等,如果相等,则输出相等,否则输出不相等。
时间: 2024-03-16 22:45:24 浏览: 15
好的,我可以帮你解答这个问题。
首先,我们需要创建一个 `Comparator` 类,并实现 `isEqual` 方法,用于判断两个同类型的值是否相等:
```java
public class MyComparator<T> implements Comparator<T> {
@Override
public int compare(T o1, T o2) {
if (isEqual(o1, o2)) {
System.out.println("相等");
return 0;
} else {
System.out.println("不相等");
return -1;
}
}
private boolean isEqual(T o1, T o2) {
return o1.equals(o2);
}
}
```
在上面的 `MyComparator` 类中,我们实现了 `Comparator` 接口,并重写了 `compare` 方法。在 `compare` 方法中,我们首先调用 `isEqual` 方法判断两个值是否相等,如果相等则输出 `"相等"`,否则输出 `"不相等"`。
`isEqual` 方法中,我们使用了 `equals` 方法判断两个值是否相等,因此需要确保 `T` 类型实现了 `equals` 方法。
最后,我们可以在其他的类中使用 `MyComparator` 类,比如对于 `String` 类型的值,可以按照以下方式进行比较:
```java
public static void main(String[] args) {
String str1 = "hello";
String str2 = "world";
String str3 = "hello";
MyComparator<String> comparator = new MyComparator<>();
comparator.compare(str1, str2); // 输出:"不相等"
comparator.compare(str1, str3); // 输出:"相等"
}
```
以上就是完整的 Java 代码实现。