Получение длины экземпляра BiSet

У меня есть функция, которая принимает в качестве аргумента объект BiSet. У меня есть следующее

public static void(String [] args)
{
   BitSet test = new BitSet(15);

     Store(test);
}

public void Store (BitSet a)
{
  boolean [] temp = new boolean[a.length()]();
  System.out.println(temp.length);
}

Проблема в том, что длина моего temp или a равна 64. Как я могу получить фактическую длину (15) теста экземпляра объекта, который я передал в функцию Store?

1 ответ

Ты не можешь Документация конструктора гласит:

Создает набор битов, начальный размер которого достаточно велик, чтобы явно представлять биты с индексами в диапазоне 0 через nbits-1,

Там нет гарантии, что начальный размер не будет больше, чем запрошенный размер. По факту, nbits теряется ко времени завершения конструктора.

Но на самом деле нет причин, по которым вам нужен начальный размер в реальном коде.

Другие вопросы по тегам