java - 关于 if(m==c)m=c 的 JRE 规范;及其意义
问题描述
我最近看到了一些奇怪的代码。我无法理解它们的使用意义。
a在诸如fastutil 和 jhighlight 之if(m==c)m=c;
类的库中出现之前没有任何意义。我已经在这个主题上搜索了很多,但令我惊讶的是,它似乎是 Java 规范,没有如此记录 - 可能是由于弃用等。如果有人能详细说明,我将不胜感激。
int comparison;
while ( b <= c && ( ( comparison = comp.compare( b, m ) ) <= 0 ) ) {
if ( comparison == 0 ) {
if ( a == m ) m = b; // moving target; DELTA to JDK !!!
else if ( b == m ) m = a; // moving target; DELTA to JDK !!!
swapper.swap( a++, b );
}
b++;
}
while ( c >= b && ( ( comparison = comp.compare( c, m ) ) >= 0 ) ) {
if ( comparison == 0 ) {
if ( c == m ) m = d; // moving target; DELTA to JDK !!!
else if ( d == m ) m = c; // moving target; DELTA to JDK !!!
swapper.swap( c, d-- );
}
c--;
}
if ( b > c ) break;
if ( b == m ) m = d; // moving target; DELTA to JDK !!!
else if ( c == m ) m = c; // moving target; DELTA to JDK !!!
swapper.swap( b++, c-- );
}
解决方案
推荐阅读
- node.js - 机器人一对一聊天
- go - 有没有其他方法可以在没有 sarama 的代理地址的情况下访问 kafka 集群?
- c++ - C++ 调试:VIsual Studio 中转储文件的堆内存状态
- serilog - 是否可以根据日志记录级别过滤掉 serilog 事件的属性
- excel - 基于段的 Excel 图表标题(无数据透视表)
- git - 我不小心点击了 vscode 中的初始化存储库。现在我不能回去
- r - Shiny 不显示表格
- c# - 冒泡排序问题 C#
- javascript - 如何处理地图函数中的多个参考
- python - 如何将 datetime 列中的 -99 值转换为我选择的日期?