Duvida com String[]

Galera, estava analisando um codigo na internet e eu não entendi essa linha…


String[] whereArgs = new String[] { _id };

Alguem pode me explicar?

vlww!

Essa declaração

String[] whereArgs

Indica que a variável whereArgs é um vetor de String.
A parte após o sinal de igualdade (=)

new String[] {_id}

Representa a criação de um novo vetor de String, contendo apenas um elemento (ou seja, um vetor válido), que é a String _id.
É o mesmo que fazer

String[] str = new String[1];
str[1] = _id;

[quote=drsmachado]Essa declaração

String[] whereArgs

Indica que a variável whereArgs é um vetor de String.
A parte após o sinal de igualdade (=)

new String[] {_id}

Representa a criação de um novo vetor de String, contendo apenas um elemento (ou seja, um vetor válido), que é a String _id.
É o mesmo que fazer

String[] str = new String[1]; str[1] = _id; [/quote]

O correto seria:

String[] str = new String[1];
str[0] = _id;

str[1] = _id; vai lançar uma ArrayIndexOutOfBoundsException.

[quote=Sem_Nome][quote=drsmachado]Essa declaração

String[] whereArgs

Indica que a variável whereArgs é um vetor de String.
A parte após o sinal de igualdade (=)

new String[] {_id}

Representa a criação de um novo vetor de String, contendo apenas um elemento (ou seja, um vetor válido), que é a String _id.
É o mesmo que fazer

String[] str = new String[1]; str[1] = _id; [/quote]

O correto seria:

String[] str = new String[1];
str[0] = _id;

str[1] = _id; vai lançar uma ArrayIndexOutOfBoundsException.[/quote]
De fato.
Responder e tentar criar especificação de casos de uso é complicado.

String[] str = new String[1];  
str[1] = _id;

o que seria exatamente esse {_id} ? Não ficou faltando as aspas para inserir a String no vetor tipo {"_id"} ?

Pode ser uma variável do tipo String. Você não mostrou o código completo.

Por exemplo, poderia ser algo como:

...
private String _id;
...
...
String[] str = new String[] { _id };
...
public class QualquerClasse{
   public void qualquerMetodo(String _id){
      String[] str = new String[]{_id};
   }
}

Entendeu?

agora sim, é que o código não estava assim, ai parecia solto . Agora faz sentido. rs.