老师, 请看下面的代码, 完全可以绕过key是不是null的检查. 那这"compare(key, key);"不是就没有效果了吗?
import java.util.Comparator;
import java.util.TreeMap;
public class Test {
public static void main(String[] args) {
Comparator<String> sc = new StringComp<String>();
TreeMap<String,String> map =new TreeMap<String,String>(sc);
map.put(null, "aaa");
map.put(null, "bbb");
map.put(null, "ccc");
System.out.println(map);
}
}
class StringComp <T> implements java.util.Comparator<String>{
@Override
public int compare(String o1, String o2) {
if(o1 == o2) {
return 1;
} else {
return -1;
}
}
}
运行结果:
{null=aaa, null=bbb, null=ccc}