JavaRush /Blog Java /Random-ES /Las 10 preguntas más frecuentes sobre cadenas en Java
ext4
Nivel 20

Las 10 preguntas más frecuentes sobre cadenas en Java

Publicado en el grupo Random-ES

Aquí se mencionan las 10 preguntas más frecuentes sobre cadenas en Java

[Traducción] Las 10 preguntas más frecuentes sobre cadenas en Java - 1
  1. ¿Cómo comparar cadenas? ¿Qué usar: " ==" o equals()?

    En resumen, " ==" compara referencias a cadenas, pero equals()compara los valores contenidos en esas cadenas. Si no desea comprobar que dos cadenas son el mismo objeto, debe utilizar equals().

    También sería una buena idea conocer el concepto de grupo de cadenas .

  2. ¿Por qué char[]se prefieren las cadenas ( String) para proteger información confidencial?

    Las cadenas son inmutables . Esto significa que una vez creada una cadena, no se modificará hasta que se ejecute el recolector de basura. En el caso de una matriz, es bastante obvio que podemos cambiar sus elementos. De esta manera, la información confidencial (como una contraseña) no se almacenará en texto claro en ninguna parte del programa.

  3. ¿ Podemos pasar cadenas como parámetro cuando usamos una declaración de cambio ?

    Sí, a partir de la versión 7 del JDK. Anteriormente, en la versión 6, esto no era posible.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. ¿Cómo convertir una cadena a un valor entero?

    int n = Integer.parseInt("10");

    Lo mismo ocurre con otros tipos primitivos en Java.

  5. ¿Cómo dividir una cadena en líneas delimitadas por espacios?

    La forma más sencilla es utilizar expresiones regulares. " \s" actúa como sustituto de caracteres de espacios en blanco como " ", " \t", " \r", " \n".

    String[] strArray = aString.split("\\s+");
  6. <¿ Qué hace realmente el método substring()?

    En JDK 6, el método substring()mostraba una parte de los caracteres de una cadena existente, pero no creaba una instancia separada de la cadena. Para crear una nueva cadena, representada como una matriz de caracteres, puede agregar una cadena vacía, por ejemplo, como esta:

    str.substring(m, n) + ""

    El resultado es una matriz de caracteres, que es nuestra nueva cadena. En ocasiones, este enfoque puede reducir el tiempo de ejecución del código porque el recolector de basura puede destruir cadenas grandes no utilizadas y almacenar solo subcadenas.

    En Oracle JDK 7, el método substring()crea una nueva matriz de caracteres sin utilizar una existente. También puedes echar un vistazo al diagrama que representa la diferencia entre los métodos substring() en JDK 6 y JDK 7 .

  7. Cadena frente a StringBuilder frente a StringBuffer

    Stringvs StringBuilder: StringBuildermutable, esto significa que podemos cambiar su contenido después de crear el objeto.

    StringBuildervs StringBuffer: StringBuffersincronizado, lo que significa que funciona correctamente cuando se usa desde varios subprocesos al mismo tiempo, pero es más lento que StringBuilder.

  8. ¿Cómo repetir una línea varias veces?

    En Python, simplemente podemos multiplicar una cadena por un número ny luego se repetirá n veces. En Java, podemos utilizar un método repeat()de la StringUtilsclase de biblioteca Lang de Apache Commons.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. ¿Cómo convertir una cadena en una fecha?

    String str = "Sep 17, 2013";
    Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
    System.out.println(date);
    //Tue Sep 17 00:00:00 EDT 2013
  10. ¿Cómo contar el número de apariciones de un determinado carácter en una cadena?

    Utilice una clase StringUtilsde la biblioteca Apache Commons Lang.

    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION