JavaRush /Blogue Java /Random-PT /10 perguntas mais frequentes sobre strings em Java
ext4
Nível 20

10 perguntas mais frequentes sobre strings em Java

Publicado no grupo Random-PT

As 10 perguntas mais frequentes sobre strings em Java são mencionadas aqui

[Tradução] 10 perguntas mais frequentes sobre strings em Java - 1
  1. Como comparar strings? O que usar: " ==" ou equals()?

    Resumindo, " ==" compara referências a strings, mas equals()compara os valores contidos nessas strings. Se você não quiser verificar se duas strings são o mesmo objeto, você deve usar equals().

    Também seria bom conhecer o conceito de pool de strings .

  2. Por que char[]as strings ( String) são preferidas para proteger informações confidenciais?

    Strings são imutáveis . Isso significa que uma vez criada uma string, ela não será modificada até que o coletor de lixo seja executado. No caso de um array, é bastante óbvio que podemos alterar seus elementos. Dessa forma, informações confidenciais (como uma senha) não serão armazenadas em texto não criptografado em nenhum lugar do programa.

  3. Podemos passar strings como parâmetro ao usar uma instrução switch ?

    Sim, a partir da versão 7 do JDK. Anteriormente, na versão 6, isso não era possível.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. Como converter uma string em um valor inteiro?

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

    O mesmo vale para outros tipos primitivos em Java.

  5. Como dividir uma string em linhas delimitadas por espaço?

    A maneira mais fácil é usar expressões regulares. " \s" atua como um substituto para caracteres de espaço em branco como " ", " \t", " \r", " \n".

    String[] strArray = aString.split("\\s+");
  6. < O que o método realmente faz substring()?

    No JDK 6, o método substring()mostrava uma parte dos caracteres de uma string existente, mas não criava uma instância separada da string. Para criar uma nova string, representada como um array de caracteres, você pode adicionar alguma string vazia, por exemplo, assim:

    str.substring(m, n) + ""

    O resultado é um array de caracteres, que é nossa nova string. Às vezes, essa abordagem pode reduzir o tempo de execução do código porque o coletor de lixo pode destruir cadeias grandes não utilizadas e armazenar apenas substrings.

    No Oracle JDK 7, o método substring()cria uma nova matriz de caracteres sem usar uma existente. Você também pode dar uma olhada no diagrama que representa a diferença entre os métodos substring() no JDK 6 e JDK 7 .

  7. String vs StringBuilder vs StringBuffer

    Stringvs StringBuilder: StringBuildermutável, isso significa que podemos alterar seu conteúdo após a criação do objeto.

    StringBuildervs StringBuffer: StringBuffersincronizado, o que significa que funciona corretamente quando usado em vários threads ao mesmo tempo, mas é mais lento que StringBuilder.

  8. Como repetir uma linha várias vezes?

    Em Python, podemos simplesmente multiplicar uma string por um número ne então ela se repetirá n vezes. Em Java, podemos usar um método repeat()da StringUtilsclasse da biblioteca Apache Commons Lang.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. Como converter uma string em uma data?

    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. Como contar o número de ocorrências de um determinado caractere em uma string?

    Use uma classe StringUtilsda biblioteca Apache Commons Lang.

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