Sabemos que el valor máximo del número entero es 2^31 - 1, y el valor máximo de largo es 2^63 - 1
Esto es cierto si se trata de una máquina de 32 bits o de 64 bits
En términos generales, cuando queramos operar un número mayor que el valor máximo de entero, usaremos mucho para realizarlo.
Pero, ¿qué pasa si encontramos un número que es mayor que el valor máximo de Long?
Biginteger
Esta situación aún ocurrirá. Java ofrece una clase BigInteger para operar números extremadamente grandes. Al usarlo, debe instanciar un objeto BigInteger, llame a su método de operación para su adición y resta.
Aquí hay un ejemplo para ilustrar
Operación uuid
Sabemos que anroid_id se usa a menudo en dispositivos Android para representar la singularidad del dispositivo
En general, se llamará al siguiente código para generar un número de dispositivo por primera vez después de instalar la aplicación.
String private_id = settings.secure.getString (getContext (). GetContentResolver (), settings.secure.android_id);
Luego, las cadenas se almacenan en el sistema de archivos o la base de datos a través de la persistencia, y los indicadores como los usuarios activos diarios pueden identificarse en función de esto.
Su valor suele ser un número hexadecimal, por ejemplo
AF84C9117B6C98D2
Convertirlo en decimal es
12647454730485537000
Esto ha excedido el rango de valor máximo largo 9223372036854776000
Luego, simplemente queremos cifrarlo en función del Android_ID original, como agregar un número aleatorio para aumentar.
String private_id = settings.segure.getString (getContext (). GetContentResolver (), settings.segure.android_id); bigInteger androidid = new BigInteger (private_id, 16); aleatory = new Random (); BigInger resultado = androidId.adid.adid (new BigInteger (String.valueOf (Random (New Random (); BigInger Result = AndroidId.adid.adid (new BigInteger (String.valueOf (Random.NEXt (100000000), 1000), 10), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000), 1000). hex = result.toString ();