我正在实现一种左派最小堆形式,它按长度存储任意单词。所以,我为 Scanner 编写了一个包装类,并更改了 compareTo,就像这样
public class ScannerWrapper implements Comparable<String>
//a Scanner, sc and a String, current
public int compareTo(String str){
if(current.length() > str.length()) return -1;
if(current.length() > str.length()) return 1;
else return 0;
}
其中 current = sc.next() 而不是 \n 字符。
在这种情况下,如果我有 ScannerWrapper.next() > foo ,其中 foo 是任意长度的字符串 > ScannerWrapper.next();
它会使用我写的 compareTo(String),返回 false,还是会做一些其他随机的事情?