¿Cuántos caracteres puede tener una cadena Java?

Resuelto andandandand asked hace 15 años • 7 respuestas

Estoy probando el problema The Next Palindrome de Sphere Online Judge (SPOJ), donde necesito encontrar un palíndromo para un número entero de hasta un millón de dígitos. Pensé en usar las funciones de Java para invertir cadenas, pero ¿permitirían que una cadena fuera tan larga?

andandandand avatar Jul 25 '09 03:07 andandandand
Aceptado

Deberías poder obtener una cadena de longitud

  1. Integer.MAX_VALUEsiempre 2,147,483,647 (2 31 - 1)
    (Definido por la especificación Java, el tamaño máximo de una matriz, que la clase String usa para el almacenamiento interno)
    O

  2. Half your maximum heap size(dado que cada carácter tiene dos bytes), el que sea menor .

Bill the Lizard avatar Jul 24 '2009 20:07 Bill the Lizard

Creo que pueden tener hasta 2 ^ 31-1 caracteres, ya que están contenidos en una matriz interna y las matrices están indexadas por números enteros en Java.

aperkins avatar Jul 24 '2009 20:07 aperkins

¿Has considerado usar BigDecimalen lugar Stringde guardar tus números?

Thorbjørn Ravn Andersen avatar Jul 24 '2009 21:07 Thorbjørn Ravn Andersen