【发布时间】:2019-02-22 05:23:07
【问题描述】:
上下文:
我有 3 种不同类型的文本格式化程序:
- SnakeCaseFormatter 转换字符串,例如“Hello World”到“hello_world”
- KebabCaseFormatter 转换字符串,例如“Hello World”到“hello-world”
- PascalCaseFormatter 转换字符串,例如“Hello World”到“HelloWorld”
这 3 种类型实现了 Comparable,其中 TextFormatter 是一个接口:
interface TextFormatter {
public TextFormatter clone(String s);
public String format();
}
如何实现 compareTo() 方法,以便 compareTo(TextFormatter o) 方法将当前对象与另一个对象进行比较;如果它在另一个对象之前返回一个负数,如果它在另一个对象之后返回一个正数,如果它们被认为是相同的顺序则返回0?
【问题讨论】:
-
子类中是否添加了值属性?你在比较哪些领域?它们都只有一个需要比较的字符串字段吗?
-
String 已经实现了 Comparable。你想达到什么目标?
-
我要比较格式化的值!
-
@Cheryl,那么这个答案对你有用吗?
-
是的,非常感谢! :)
标签: java priority-queue comparable