BigInteger blockNum = web3j.ethGetBlockByNumber(DefaultBlockParameterName.LATEST, false).send() .getBlock().getNumber();
Long.MAX_VALUE (9223372036854775807) is more than enough to hold block number.
It is easier and efficient to iterate over long than BigInteger. There are use-cases when we need to iterate over blocks; for example - to find N latest blocks.
Also addition, deletion and comparison is easier with long.