What we used to see is a constructor with a size value as argument returns an object with that size. However BitSet(int nbits) constructor does not work this way. Here is the description from JavaDocs:
Creates a bit set whose initial size is large enough to explicitly represent bits with indices in the range 0 through nbits-1.Indeed length of the object is equals to or bigger than specified value.
BitSet set = new BitSet(1); System.out.println(set.size()); //64 BitSet set = new BitSet(10); System.out.println(set.size()); //64 BitSet set = new BitSet(65); System.out.println(set.size()); //128
It seems like BitSet constructor sets the size to closest 2^n value starting with n=6.