10 coisas que todo programador Java deve saber sobre a string no Infocampus

Dado o uso pesado de Java String em quase qualquer tipo de projeto, torna-se ainda mais importante saber detalhes sutis sobre String. Embora eu tenha compartilhado muito do artigo relacionado a String já aqui em Javarevisited, este é um esforço para reunir alguns dos recursos de String. Neste tutorial, vamos ver alguns pontos importantes sobre Java, que vale a pena lembrar. Você também pode consultar minhas perguntas avançadas sobre Java antes do post para saber mais sobre o String.

Embora eu tenha tentado cobrir muitas coisas, definitivamente há poucas coisas que eu poderia ter perdido; por favor, deixe-me saber se você tem alguma dúvida ou dúvida sobre a funcionalidade java.lang.String e vou tentar abordá-los aqui.

1) As strings não são terminadas em null em Java.

Ao contrário de C e C ++, em Java não termina com caractere nulo. Em vez disso, são Object em Java e suportados por array de caracteres. Você pode obter o array de caracteres usado para representar em Java chamando o método toCharArray () da classe java.lang.String do JDK.

2) As cordas são imutáveis e finais em Java

Strings são imutáveis em Java significa que uma vez criado você não pode modificar o conteúdo de String. Se você modificá-lo usando toLowerCase (), toUpperCase () ou qualquer outro método, sempre resultará em novo. Como é final, não há como alguém estender ou substituir qualquer funcionalidade. Agora, se você está intrigado porque String é imutável ou final em Java. confira o link.

3) As strings são mantidas no pool de strings

Como eu disse anteriormente, é uma classe especial em Java e todo o literal, e. "abc" (qualquer coisa que esteja dentro de aspas duplas são literais em Java) são mantidos em um conjunto de Sequências separado, local de memória especial dentro da memória Java, mais precisamente dentro do Espaço PermGen. Sempre que você cria um novo objeto usando literal, a JVM primeiro verifica o pool de strings e se um objeto com conteúdo semelhante está disponível, do que ele retorna e não cria um novo objeto. A JVM não executa a verificação de pool de cadeias se você criar um objeto usando o novo operador.

4) Use métodos Equals para comparar String em Java

A classe String substitui o método equals e fornece uma igualdade de conteúdo, que é baseada em caracteres, maiúsculas e minúsculas. Portanto, se você quiser comparar dois objetos, para verificar se são iguais ou não, use sempre o método equals () em vez do operador de igualdade. Como no exemplo anterior, se usarmos o método equals para comparar objetos, eles serão iguais entre si, porque todos contêm o mesmo conteúdo.

5) Use indexOf () e lastIndexOf () ou combina o método (String regex) para pesquisar dentro de String

A classe em Java fornece um método conveniente para ver se um caractere, sub ou um padrão existe no objeto atual. Você pode usar indexOf () que retornará a posição do caractere ou, se existir no objeto atual ou -1 se o caracter não existir em. lastIndexOf é semelhante, mas pesquisa do final. .match (regex) é ainda mais poderoso, o que permite que você procure por um padrão de expressão regular dentro dele.

6) Use Sub para obter parte em Java

Java fornece outro método útil chamado sub (), que pode ser usado para obter partes de. Basicamente, você especifica o índice start e end e o método substring () retorna o caractere desse intervalo. O índice começa de 0 e vai 1. A propósito, .length () retorna o número de caracteres em String, incluindo espaços em branco como tabulação, espaço. Um ponto que vale a pena lembrar aqui é que o sub também é copiado pelo array de caracteres, que é usado pelo original. Isso pode ser perigoso se o objeto original for muito grande e for muito pequeno, porque até mesmo uma pequena fração pode conter referência de array completo e impede que ele seja coletado como lixo mesmo se não houver outra referência para esse particular.

7) "+" está sobrecarregado para concatenação de cadeia

Java não suporta sobrecarga do Operador, mas é especial e o operador + pode ser usado para concatenar dois. Ele pode até mesmo ser usado para converter int, char, long ou double para converter simplesmente concatenando com empty ". Internally + é implementado usando StringBuffer antes do Java 5 e StringBuilder do Java 5 em diante. Isso também traz o ponto de usar StringBuffer ou StringBuilder para manipulando.

8) Use o trim () para remover espaços em branco de

Java fornece o método trim () para remover o espaço em branco das duas extremidades. Se trim () remover espaços em branco, ele retornará um novo caso contrário, retornará igual. Juntamente com trim () também fornece o método replace () e replaceAll () para substituir os caracteres. O método replaceAll suporta até a expressão regular.

9) Use split () para dividir usando expressão regular

Java é rico em recursos. Ele tem métodos como split (regex), que pode assumir qualquer forma de expressão regular e dividir o baseado nisso. particularmente útil se você estiver lidando com arquivos separados por vírgulas (CSV) e quiser ter partes individuais em um array.

10) Não armazene dados confidenciais

representar ameaça de segurança se for usado para armazenar dados confidenciais, como senhas, SSN ou qualquer outra informação sensível. Como é imutável em Java, não há como apagar o conteúdo e, como eles são mantidos no conjunto (no caso de String literal), eles ficam mais tempo no heap Java, o que expõe o risco de ser visto por qualquer pessoa que tenha acesso à memória Java. como ler de despejo de memória.