La clase larga es una clase contenedora para el tipo primitivo long que contiene varios métodos para manejar de manera efectiva un valor largo, como convertirlo en una representación de string y viceversa. Un objeto de clase Long puede contener un solo valor largo. Hay principalmente dos constructores para inicializar un objeto largo:
- Long(long b): Crea un objeto Long inicializado con el valor proporcionado.
Syntax : public Long(long b) Parameters : b : value with which to initialize
- Long(String s): crea un objeto Long inicializado con el valor largo proporcionado por la representación de string. La raíz predeterminada se toma como 10.
Syntax : public Long(String s) throws NumberFormatException Parameters : s : string representation of the long value Throws : NumberFormatException : If the string provided does not represent any long value.
Métodos:
1. toString(): Devuelve la string correspondiente al valor largo.
Syntax : public String toString(long b) Parameters : b : long value for which string representation required.
2. toHexString( ): Devuelve la string correspondiente al valor largo en formato hexadecimal, es decir, devuelve una string que representa el valor largo en caracteres hexadecimales-[0-9][af]
Syntax : public String toHexString(long b) Parameters : b : long value for which hex string representation required.
3. toOctalString() : Devuelve la string correspondiente al valor largo en forma octal, es decir, devuelve una string que representa el valor largo en caracteres octales-[0-7]
Syntax : public String toOctalString(long b) Parameters : b : long value for which octal string representation required.
4. toBinaryString() : Devuelve la string correspondiente al valor largo en dígitos binarios, es decir, devuelve una string que representa el valor largo en caracteres hexadecimales-[0/1]
Syntax : public String toBinaryString(long b) Parameters : b : long value for which binary string representation required.
5. valueOf() : devuelve el objeto Long inicializado con el valor proporcionado.
Syntax : public static Long valueOf(long b) Parameters : b : a long value
Otra función sobrecargada valueOf(String val,long radix) que proporciona una función similar a
la nueva Long(Long.parseLong(val,radix))
Syntax : public static Long valueOf(String val, long radix) throws NumberFormatException Parameters : val : String to be parsed into long value radix : radix to be used while parsing Throws : NumberFormatException : if String cannot be parsed to a long value in given radix.
Otra función sobrecargada valueOf(String val) que proporciona una función similar a
la nueva Long(Long.parseInt(val,10))
Syntax : public static Long valueOf(String s) throws NumberFormatException Parameters : s : a String object to be parsed as long Throws : NumberFormatException : if String cannot be parsed to a long value in given radix.
6. parseLong() : devuelve un valor largo al analizar la string en la raíz proporcionada. Se diferencia de valueOf() en que devuelve un valor largo primitivo y valueOf() devuelve un objeto largo.
Syntax : public static long parseInt(String val, int radix) throws NumberFormatException Parameters : val : String representation of long radix : radix to be used while parsing Throws : NumberFormatException : if String cannot be parsed to a long value in given radix.
Otro método sobrecargado que contiene solo String como parámetro, radix se establece de forma predeterminada en 10.
Syntax : public static long parseLong(String val) throws NumberFormatException Parameters : val : String representation of long Throws : NumberFormatException : if String cannot be parsed to a long value in given radix.
7. getLong() : devuelve el objeto Long que representa el valor asociado con la propiedad del sistema dada o nulo si no existe.
Syntax : public static Long getLong(String prop) Parameters : prop : System property
Otro método sobrecargado que devuelve el segundo argumento si la propiedad no existe, es decir, no devuelve un valor nulo sino un valor predeterminado proporcionado por el usuario.
Syntax : public static Long getLong(String prop, long val) Parameters : prop : System property val : value to return if property does not exist.
Otro método sobrecargado que analiza el valor de acuerdo con el valor devuelto, es decir, si el valor devuelto comienza con «#», entonces se analiza como hexadecimal, si comienza con «0», entonces se analiza como octal, de lo contrario, decimal.
Syntax : public static Long getLong(String prop, Long val) Parameters : prop : System property val : value to return if property does not exist.
8. decode() : devuelve un objeto Long que contiene el valor decodificado de la string proporcionada. La string proporcionada debe tener el siguiente formato; de lo contrario, se lanzará NumberFormatException-
Decimal- (Signo)Decimal_Number
Hex- (Signo)”0x”Hex_Digits
Hex- (Signo)”0X”Hex_Digits
Octal- (Signo)”0″Octal_Digits
Syntax : public static Long decode(String s) throws NumberFormatException Parameters : s : encoded string to be parsed into long val Throws : NumberFormatException : If the string cannot be decoded into a long value
9. rotarIzquierda() : Devuelve un primitivo largo al rotar los bits que quedan por la distancia dada en forma de complemento a dos del valor dado. Al girar a la izquierda, el bit más significativo se mueve hacia el lado derecho, oa la posición menos significativa, es decir, tiene lugar un movimiento cíclico de bits. La distancia negativa significa rotación a la derecha.
Syntax : public static long rotateLeft(long val, int dist) Parameters : val : long value to be rotated dist : distance to rotate
10. rotarDerecha() : Devuelve un primitivo largo rotando los bits a la derecha por la distancia dada en la forma de complemento a dos del valor dado. Cuando gira a la derecha, el bit menos significativo se mueve hacia el lado izquierdo, o la posición más significativa, es decir, tiene lugar un movimiento cíclico de bits. La distancia negativa significa rotación a la izquierda.
Syntax : public static long rotateRight(long val, int dist) Parameters : val : long value to be rotated dist : distance to rotate
Java
// Java program to illustrate // various Long class methods public class Long_test { public static void main(String args[]) { long b = 55; String bb = "45"; // Construct two Long objects Long x = new Long(b); Long y = new Long(bb); // toString() System.out.println("toString(b) = " + Long.toString(b)); // toHexString(),toOctalString(),toBinaryString() // converts into hexadecimal, octal and binary forms. System.out.println("toHexString(b) =" + Long.toHexString(b)); System.out.println("toOctalString(b) =" + Long.toOctalString(b)); System.out.println("toBinaryString(b) =" + Long.toBinaryString(b)); // valueOf(): return Long object // an overloaded method takes radix as well. Long z = Long.valueOf(b); System.out.println("valueOf(b) = " + z); z = Long.valueOf(bb); System.out.println("ValueOf(bb) = " + z); z = Long.valueOf(bb, 6); System.out.println("ValueOf(bb,6) = " + z); // parseLong(): return primitive long value // an overloaded method takes radix as well long zz = Long.parseLong(bb); System.out.println("parseLong(bb) = " + zz); zz = Long.parseLong(bb, 6); System.out.println("parseLong(bb,6) = " + zz); // getLong(): can be used to retrieve // long value of system property long prop = Long.getLong("sun.arch.data.model"); System.out.println("getLong(sun.arch.data.model) = " + prop); System.out.println("getLong(abcd) =" + Long.getLong("abcd")); // an overloaded getLong() method // which return default value if property not found. System.out.println("getLong(abcd,10) =" + Long.getLong("abcd", 10)); // decode() : decodes the hex,octal and decimal // string to corresponding long values. String decimal = "45"; String octal = "005"; String hex = "0x0f"; Long dec = Long.decode(decimal); System.out.println("decode(45) = " + dec); dec = Long.decode(octal); System.out.println("decode(005) = " + dec); dec = Long.decode(hex); System.out.println("decode(0x0f) = " + dec); // rotateLeft and rotateRight can be used // to rotate bits by specified distance long valrot = 2; System.out.println("rotateLeft(0000 0000 0000 0010 , 2) =" + Long.rotateLeft(valrot, 2)); System.out.println("rotateRight(0000 0000 0000 0010,3) =" + Long.rotateRight(valrot, 3)); } }
Producción:
toString(b) = 55 toHexString(b) =37 toOctalString(b) =67 toBinaryString(b) =110111 valueOf(b) = 55 ValueOf(bb) = 45 ValueOf(bb,6) = 29 parseInt(bb) = 45 parseInt(bb,6) = 29 getLong(sun.arch.data.model) = 64 getLong(abcd) =null getLong(abcd,10) =10 decode(45) = 45 decode(005) = 5 decode(0x0f) = 15 rotateLeft(0000 0000 0000 0010 , 2) =8 rotateRight(0000 0000 0000 0010,3) =1073741824
Algunos métodos de clase más largos son:
11. byteValue( ) : devuelve un valor de byte correspondiente a este objeto largo.
Syntax : public byte byteValue()
12. shortValue() : devuelve un valor corto correspondiente a este objeto largo.
Syntax : public short shortValue()
13. intValue() : devuelve un valor int correspondiente a este objeto largo.
Syntax : public int intValue()
14. longValue() : devuelve un valor largo correspondiente a este objeto largo.
Syntax : public long longValue()
15. doubleValue() : devuelve un valor doble correspondiente a este objeto largo.
Syntax : public double doubleValue()
16. floatValue() : devuelve un valor flotante correspondiente a este objeto largo.
Syntax : public float floatValue()
17. hashCode() : devuelve el código hash correspondiente a este objeto largo.
Syntax : public int hashCode()
18. bitcount() : Devuelve el número de bits establecidos en complemento a dos del largo dado.
Syntax : public static int bitCount(long i) Parameters : i : long value whose set bits to count
19. numberOfLeadingZeroes() : Devuelve el número de 0 bits que preceden al 1 bit más alto en forma de complemento a dos del valor, es decir, si el número en forma de complemento a dos es 0000 1010 0000 0000, entonces esta función devolvería 4.
Syntax : public static int numberofLeadingZeroes(long i) Parameters : i : long value whose leading zeroes to count in twos complement form
20. numberOfTrailingZeroes() : Devuelve el número de 0 bits que siguen al último 1 bit en forma de complemento de dos del valor, es decir, si el número en forma de complemento de dos es 0000 1010 0000 0000, entonces esta función devolvería 9.
Syntax : public static int numberofTrailingZeroes(long i) Parameters : i : long value whose trailing zeroes to count in twos complement form
21.highOneBit () : Devuelve un valor con un solo bit como máximo, en la posición del bit más alto en el valor dado. Devuelve 0 si el valor dado es 0, es decir, si el número es 0000 0000 0000 1111, entonces esta función devuelve 0000 0000 0000 1000 (uno como máximo un bit en el número dado)
Syntax : public static long highestOneBit(long i) Parameters : i : long value
22. LowestOneBit() : Devuelve un valor con un solo bit como máximo, en la posición del bit más bajo en el valor dado. Devuelve 0 si el valor dado es 0, es decir, si el número es 0000 0000 0000 1111, entonces esta función devuelve 0000 0000 0000 0001 (uno como máximo un bit en el número dado)
Syntax : public static long LowestOneBit(long i) Parameters : i : long value
23. equals() : Usado para comparar la igualdad de dos objetos Long. Este método devuelve verdadero si ambos objetos contienen el mismo valor largo. Debe usarse solo si se verifica la igualdad. En todos los demás casos, se debe preferir el método compareTo.
Syntax : public boolean equals(Object obj) Parameters : obj : object to compare with
24. compareTo() : se utiliza para comparar dos objetos largos para la igualdad numérica. Esto debe usarse cuando se comparan dos valores largos para la igualdad numérica, ya que diferenciaría entre valores menores y mayores. Devuelve un valor menor que 0,0, valor mayor que 0 para menor que, igual a y mayor que.
Syntax : public int compareTo(Long b) Parameters : b : Long object to compare with
25. compare() : se utiliza para comparar dos valores largos primitivos para la igualdad numérica. Como es un método estático, puede usarse sin crear ningún objeto de Long.
Syntax : public static int compare(long x,long y) Parameters : x : long value y : another long value
26. signum() : devuelve -1 para valores negativos, 0 para 0 y +1 para valores mayores que 0.
Syntax : public static int signum(long val) Parameters : val : long value for which signum is required.
27. reverse() : devuelve un valor largo primitivo invirtiendo el orden de los bits en forma de complemento a dos del valor largo dado.
Syntax : public static long reverseBytes(long val) Parameters : val : long value whose bits to reverse in order.
28. reverseBytes() : devuelve un valor largo primitivo invirtiendo el orden de los bytes en forma de complemento a dos del valor largo dado.
Syntax : public static long reverseBytes(long val) Parameters : val : long value whose bits to reverse in order.
Java
// Java program to illustrate // various Long methods public class Long_test { public static void main(String args[]) { long b = 55; String bb = "45"; // Construct two Long objects Long x = new Long(b); Long y = new Long(bb); // xxxValue can be used to retrieve // xxx type value from long value. // xxx can be int,byte,short,long,double,float System.out.println("bytevalue(x) = " + x.byteValue()); System.out.println("shortvalue(x) = " + x.shortValue()); System.out.println("intvalue(x) = " + x.intValue()); System.out.println("longvalue(x) = " + x.longValue()); System.out.println("doublevalue(x) = " + x.doubleValue()); System.out.println("floatvalue(x) = " + x.floatValue()); long value = 45; // bitcount() : can be used to count set bits // in twos complement form of the number System.out.println("Long.bitcount(value)=" + Long.bitCount(value)); // numberOfTrailingZeroes and numberOfLeaadingZeroes // can be used to count prefix and postfix sequence of 0 System.out.println("Long.numberOfTrailingZeros(value)=" + Long.numberOfTrailingZeros(value)); System.out.println("Long.numberOfLeadingZeros(value)=" + Long.numberOfLeadingZeros(value)); // highestOneBit returns a value with one on highest // set bit position System.out.println("Long.highestOneBit(value)=" + Long.highestOneBit(value)); // highestOneBit returns a value with one on lowest // set bit position System.out.println("Long.lowestOneBit(value)=" + Long.lowestOneBit(value)); // reverse() can be used to reverse order of bits // reverseBytes() can be used to reverse order of bytes System.out.println("Long.reverse(value)=" + Long.reverse(value)); System.out.println("Long.reverseBytes(value)=" + Long.reverseBytes(value)); // signum() returns -1,0,1 for negative,0 and positive // values System.out.println("Long.signum(value)=" + Long.signum(value)); // hashcode() returns hashcode of the object int hash = x.hashCode(); System.out.println("hashcode(x) = " + hash); // equals returns boolean value representing equality boolean eq = x.equals(y); System.out.println("x.equals(y) = " + eq); // compare() used for comparing two int values int e = Long.compare(x, y); System.out.println("compare(x,y) = " + e); // compareTo() used for comparing this value with some // other value int f = x.compareTo(y); System.out.println("x.compareTo(y) = " + f); } }
Producción :
bytevalue(x) = 55 shortvalue(x) = 55 intvalue(x) = 55 longvalue(x) = 55 doublevalue(x) = 55.0 floatvalue(x) = 55.0 Long.bitcount(value)=4 Long.numberOfTrailingZeros(value)=0 Long.numberOfLeadingZeros(value)=58 Long.highestOneBit(value)=32 Long.lowestOneBit(value)=1 Long.reverse(value)=-5476377146882523136 Long.reverseBytes(value)=3242591731706757120 Long.signum(value)=1 hashcode(x) = 55 x.equals(y) = false compare(x,y) = 1 x.compareTo(y) = 1
Este artículo es una contribución de Rishabh Mahrsee . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA