ae galera!! to com uma duvida se alguem puder me ajudar eu agradeço!!! eh o seguinte:
Eu tenho 2 classes: A e B (por exemplo)onde em A eu instanciei um objeto X.
Dentro de um método de B eu percorro um array qquer e verifico se o X esta em alguma posicao do array. Se estiver eu mando uma mensagem na tela (message dialog). Como eu faço isto se em B eu nao tenho acesso ao objeto X???
Ja mandei esta pergunta uma vez a um outro fórum e me disseram q nao vai ser possivel saber se o objeto q esta na matriz eh “X” mas sim eh do tipo de “X”. Neste caso como eu posso fazer isto? jah tentei o getClass() mas naum ta funcionando… :~(
OBS: não posso tornar o objeto X publico…
OBS2: parabéns ao pessoal do site pela ótima qualidade!!! muito bom mesmo!
valeu!!
[]s!
joão bosco
Olá João, seja bem vindo aou GUJ.com.br.
Para você saber o nome da classe ao qual determinado objeto pertence, use como exemplo o seguinte codigo:
// TesteClass.java
Class MyClass {}
public static void main(String args[])
{
MyClass m = new MyClass();
String nome = m.getClass().getName();
System.out.println(nome);
}
Note que usamos getClass().getName()
para saber o nome da classe a qual o objeto faz referência. Caso queira saber o tipo do objeto, use o operador instanceof, como mostrado aqui:
// Verifica se m eh realmente instancia de MyClass
if (m instanceof MyClass)
// alguma acao
De qualquer maneira, não sei se isso resolve ou ajuda a resolver seu problema. Se puder explicar melhor o que pretende, ou como esta fazendo, talvez possamos achar uma solução tendo em base suas necessidades!
[]'s
Rafael Steil
Oi Joao Bosco
Realmente acho que a explicacao do seu problema nao esta muito bem definida.
Sera que voce poderia mandar para a gente o codigo que voce tem, e ai falar o que voce quer fazer?
Pelo que eu entendi, voce quer saber se na array de objetos existe o objeto X, mas se voce nao tem o X, como voce vai comparar?
Ae Joao, bem vindo ao guj!
se voce precisa comparar com o OBJETO X entao voce pode criar uma funcao publica em a do tipo:
public boolean compareToX(Object y) {
// .equals?
if(x.equals(y)) {
return(true);
}
else {
return(false);
}
}
Que tal?
Voce nao libera o objeto X pra ninguem, mas consegue verificar se um objeto eh exatamente o objeto X… claro que envolve adicionar um metodo com funcionalidade um pouco incomum, mas eh como passwords, voce nao libera ele como publico mas sim uma funcao que o compara 
serve de solucao?
Gui
Obrigado pela ajuda ae!!!
Eu usei o instanceof e ta funcionando legalzinho! valeu!!!
[]s ,
João Bosco