底层的一段代码,好像是错了,请大家帮忙看一下
用GXT的包,底层有这么一段代码:public <V extends Comparable<V>> StoreSortInfo(final ValueProvider<? super M, V> property, SortDir direction) {
this.valueProvider = property;
this.direction = direction;
this.comparator = new Comparator<M>() {
public int compare(M o1, M o2) {
V v1 = property.getValue(o1);
V v2 = property.getValue(o2);
if ((v1 == null & v2 != null) || (v1 != null && v2 == null)) {
return v1 == null ? -1 : 1;
}
if (v1 == null & v2 == null) {
return 0;
}
return v1.compareTo(v2);
}
};
}
请问大家if的判断是不是错了?
public int compare的这个方法是不是只返回1? --------------------编程问答-------------------- 应该没错,意思是:
v1和v2都为null,则返回 0,意思是相等。
v1为null,v2不为null,返回-1.
v1不为null,v2为null,返回 1。
都不是null的话,返回v1和v2比较结果。 --------------------编程问答-------------------- 没错
==的优先级比& 和 &&都高 --------------------编程问答-------------------- 还会!!! --------------------编程问答-------------------- 没错,写个测试程序便知 --------------------编程问答--------------------
正解! --------------------编程问答-------------------- ==优先级高于&和&&;
boolean值&结果与&&结果相同。
比较结果同一楼 --------------------编程问答-------------------- ==优先级高于&和&&;
boolean值&结果与&&结果相同。
比较结果同一楼 --------------------编程问答-------------------- ==优先级高于&和&&;
boolean值&结果与&&结果相同。
比较结果同一楼 --------------------编程问答-------------------- 木有错~~~~~ --------------------编程问答-------------------- 测试一下就知道了
补充:Java , Java EE