BitSet.java (BitSet(int)): if nbits < 0 throw NegativeArraySizeException
* java/util/BitSet.java (BitSet(int)): if nbits < 0 throw NegativeArraySizeException (clear(int)): Use sign extended shift. (flip(int)): Likewise. (get(int)): Likewise. (nextClearBit(int)): Likewise. (nextSetBit(int)): Likewise. (set(int)): Likewise. From-SVN: r51701
This commit is contained in:
parent
bcf88f9b91
commit
29123a37f0
2 changed files with 20 additions and 6 deletions
|
@ -102,6 +102,9 @@ public class BitSet implements Cloneable, Serializable
|
|||
*/
|
||||
public BitSet(int nbits)
|
||||
{
|
||||
if (nbits < 0)
|
||||
throw new NegativeArraySizeException();
|
||||
|
||||
int length = nbits >>> 6;
|
||||
if ((nbits & LONG_MASK) != 0)
|
||||
++length;
|
||||
|
@ -195,7 +198,7 @@ public class BitSet implements Cloneable, Serializable
|
|||
*/
|
||||
public void clear(int pos)
|
||||
{
|
||||
int offset = pos >>> 6;
|
||||
int offset = pos >> 6;
|
||||
ensure(offset);
|
||||
// ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException,
|
||||
// so we'll just let that be our exception.
|
||||
|
@ -289,7 +292,7 @@ public class BitSet implements Cloneable, Serializable
|
|||
*/
|
||||
public void flip(int index)
|
||||
{
|
||||
int offset = index >>> 6;
|
||||
int offset = index >> 6;
|
||||
ensure(offset);
|
||||
// ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException,
|
||||
// so we'll just let that be our exception.
|
||||
|
@ -335,7 +338,7 @@ public class BitSet implements Cloneable, Serializable
|
|||
*/
|
||||
public boolean get(int pos)
|
||||
{
|
||||
int offset = pos >>> 6;
|
||||
int offset = pos >> 6;
|
||||
if (offset >= bits.length)
|
||||
return false;
|
||||
// ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException,
|
||||
|
@ -498,7 +501,7 @@ public class BitSet implements Cloneable, Serializable
|
|||
*/
|
||||
public int nextClearBit(int from)
|
||||
{
|
||||
int offset = from >>> 6;
|
||||
int offset = from >> 6;
|
||||
long mask = 1L << from;
|
||||
while (offset < bits.length)
|
||||
{
|
||||
|
@ -535,7 +538,7 @@ public class BitSet implements Cloneable, Serializable
|
|||
*/
|
||||
public int nextSetBit(int from)
|
||||
{
|
||||
int offset = from >>> 6;
|
||||
int offset = from >> 6;
|
||||
long mask = 1L << from;
|
||||
while (offset < bits.length)
|
||||
{
|
||||
|
@ -583,7 +586,7 @@ public class BitSet implements Cloneable, Serializable
|
|||
*/
|
||||
public void set(int pos)
|
||||
{
|
||||
int offset = pos >>> 6;
|
||||
int offset = pos >> 6;
|
||||
ensure(offset);
|
||||
// ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException,
|
||||
// so we'll just let that be our exception.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue