Если я запускаю следующий код:
BitSet test = new BitSet(20);
System.out.println("Bitset size is " + test.size());
System.out.println("Bitset length is " + test.length());
Я получаю вывод:
Bitset size is 64
Bitset length is 0
Что имеет смысл сейчас, когда я посмотрю поближе на документацию (первый получает размер, включая накладные расходы на реализацию, а второй - последний установленный бит, со всеми значениями по умолчанию false), но это не то, что я хочу.
Поскольку BitSet, который я на самом деле использую, может иметь различную длину, я хочу иметь возможность вернуть количество представленных битов (игнорируя, установлены ли они). Есть ли способ сделать это (надеюсь, с помощью встроенного метода)?
Я понимаю, что мог бы попытаться перевернуть все биты, а затем выполнить длину, или отслеживая переменную, которую я использую для создания экземпляра BitSet, но я чувствую, что оба требуют нескольких строк комментариев с моими причинами, и я надеялся на что-то немного больше самодокументирования.