Referência com array parece que não funciona

Olá pessoal minha dúvida é a seguinte:
Estou capturando uma string do teclado, colocando-a em um array com
o método “string.toCharArray()” e preciso retirar os espaços em branco
originarios desta string agora contidos no array.Para isto fiz um método
que recebe um array como a seguir:

public static void retiraBranco(char []array2)
{
int p = 0;

  for(int j=0;j < array2.length;j++)
  {
     if((array2[j] != ' ') || (array2[j] != '\t'))
     {
        array2[p] = array2[j];
        p++;
     }
  }

}

O problema surge qdo passo o array com os caracteres identicos aos que compõe a string como referência para o método.
Depois da chamada do método retiraBranco([]array), o array original continua o mesmo, ou seja, os espaços em branco não foram retirados!

String s = "teste usando replaceAll para retirar espaços"; String s2 = s.replaceAll(" ",""); //testeusandoreplaceAllpararetirarespaços

voce poderia fazer o seguinte :

A_sua_string.trim()

isso faz com que seja retirado todos os espaços do conteudo da string ai vc manda p um array

Oi,

Tem um probleminha no seu código:

if((array2[j] != ' ') || (array2[j] != '\t')) 

deveria ser

if((array2[j] != ' ') && (array2[j] != '\t')) 

né? O original fica sempre “true”, porque um dos lados sempre vai retornar “true” porque o caráter não pode ser o espaço e o tab no mesmo tempo.

Mas como disse o Jehjeh o metodo replaceAll(String, String) funciona beleza para o que você quer.

O metodo trim() é ótimo se você quer retirar os espaços do começo e do fim do String, mas ele não mexe nos espaços no meio do String. P. ex.
" isso eh um exemplo ".trim() :arrow: “isso eh um exemplo”

-Sami