public class HashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable
{
/**
* The default initial capacity - MUST be a power of two.
*/
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;//why not 16 here
有人能给出更好的解释吗?
答案 0 :(得分:3)
很简单:左移1生成的常数,例如1 <&lt; N将永远是2的力量。
它可以用其他方式编写,但这种方式更具自我描述性。 我认为它是完全等价的,但它是用来表明价值是如何产生以及如何计算
的方式就像在这种情况下(1 << 4
)在这种情况下,它的目的是2 ^ 4即16。