// transfer 2463line
if (i < 0 || i >= n || i + n >= nextn) { ********* here
int sc;
if (finishing) {
nextTable = null;
table = nextTab;
sizeCtl = (n >> 1);
return;
}
if (U.compareAndSetInt(this, SIZECTL, sc = sizeCtl, sc - 1)) {
if ((sc - 2) != resizeStamp(n) = n, я не могу придумать особый случай; такое ощущение, что этого не может произойти.
Условие 3, i + n >= nextn, то же самое.
Являются ли условия 2 и 3 защитным программированием?
Подробнее здесь: [url]https://stackoverflow.com/questions/79842774/the-purpose-of-an-if-statement-condition-it-is-java21-concurrenthashmap-transfe[/url]
[code] // transfer 2463line if (i < 0 || i >= n || i + n >= nextn) { ********* here int sc; if (finishing) { nextTable = null; table = nextTab; sizeCtl = (n >> 1); return; } if (U.compareAndSetInt(this, SIZECTL, sc = sizeCtl, sc - 1)) { if ((sc - 2) != resizeStamp(n) = n, я не могу придумать особый случай; такое ощущение, что этого не может произойти.
Условие 3, i + n >= nextn, то же самое.
Являются ли условия 2 и 3 защитным программированием?