# java – A long bigger than Long.MAX_VALUE

## java – A long bigger than Long.MAX_VALUE

That method cant return `true`

. Thats the *point* of `Long.MAX_VALUE`

. It would be *really* confusing if its name were… false. Then it should be just called `Long.SOME_FAIRLY_LARGE_VALUE`

and have literally zero reasonable uses. Just use Androids `isUserAGoat`

, or you may roll your own function that always returns `false`

.

Note that a `long`

in memory takes a fixed number of bytes. From Oracle:

long: The long data type is a 64-bit signed twos complement integer. It has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (inclusive). Use this data type when you need a range of values wider than those provided by int.

As you may know from basic computer science or discrete math, there are 2^64 possible values for a long, since it is 64 bits. And as you know from discrete math or number theory or common sense, if theres only finitely many possibilities, one of them has to be the largest. That would be `Long.MAX_VALUE`

. So you are asking something similar to is there an integer thats >0 and < 1? Mathematically nonsensical.

If you actually need this for something for real then use `BigInteger`

class.

You cant. If you have a method called `isBiggerThanMaxLong(long)`

it should always return `false`

.

If you were to increment the bits of `Long.MAX_VALUE`

, the next value should be `Long.MIN_VALUE`

. Read up on twos-complement and that should tell you why.

#### java – A long bigger than Long.MAX_VALUE

Firstly, the below method doesnt compile as it is missing the return type and it should be `Long.MAX_VALUE`

in place of `Long.Max_value`

.

```
public static boolean isBiggerThanMaxLong(long value) {
return value > Long.Max_value;
}
```

The above method can never return `true`

as you are comparing a `long`

value with `Long.MAX_VALUE`

, see the method signature you can pass only `long`

there.Any `long`

can be as big as the `Long.MAX_VALUE`

, it cant be bigger than that.

You can try something like this with BigInteger class :

```
public static boolean isBiggerThanMaxLong(BigInteger l){
return l.compareTo(BigInteger.valueOf(Long.MAX_VALUE))==1?true:false;
}
```

The below code will return `true`

:

```
BigInteger big3 = BigInteger.valueOf(Long.MAX_VALUE).
add(BigInteger.valueOf(Long.MAX_VALUE));
System.out.println(isBiggerThanMaxLong(big3)); // prints true
```