При попытке добавить этот 4-х символов «Mano» в StrigBuilder емкости 2, метод expandCapacity из AbstractStringBuilder будет называться с minimumCapacity как MinimumSize необходимо выделить новую строку:
void expandCapacity(int minimumCapacity) {
int newCapacity = value.length * 2 + 2;
if (newCapacity - minimumCapacity < 0)
newCapacity = minimumCapacity;
if (newCapacity < 0) {
if (minimumCapacity < 0) // overflow
throw new OutOfMemoryError();
newCapacity = Integer.MAX_VALUE;
}
value = Arrays.copyOf(value, newCapacity);
}
Первое, что он пытается сделать, это удвоить текущую емкость и сумму 2. Ваша первоначальная емкость равна 2, поэтому newCapacity будет 6. Это больше, чем 4 (длина «Мано»), поэтому именно поэтому вы см. 6.