I was looking at the source code of HashMap.java at this link.
I came across a couple of pieces of code like this:
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
and
static final int MAXIMUM_CAPACITY = 1 << 30;
My question is, if these values have to be hard-coded, why not hard-code the evaluated values instead of these left-shift operators?