= 0 && i < size; modCount++; -6ren">
gpt4 book ai didi

java - 为什么使用 "s = --size"而不是 "s = size"?

转载 作者:行者123 更新时间:2023-12-01 18:06:53 27 4
gpt4 key购买 nike

来自 PriorityQueue 的代码:

private E removeAt(int i) {
assert i >= 0 && i < size;
modCount++;
int s = --size; // <- Why???
if (s == i) // removed last element
queue[i] = null;
else {
E moved = (E) queue[s];
queue[s] = null;
siftDown(i, moved);
if (queue[i] == moved) {
siftUp(i, moved);
if (queue[i] != moved)
return moved;
}
}
return null;
}

s = --sizes = size 之间有什么区别?有人可以帮忙吗?提前致谢。

最佳答案

int s = --size;pre-decrement operator ,这不等于 int s = size; 。相当于

int s = (size = (size - 1));

size = size - 1;
int s = size;

但它比这两者都短

关于java - 为什么使用 "s = --size"而不是 "s = size"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35715545/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com