Galera do GUJ, como estão?
[i]
Fiquei em duvida sobre se isso era “basico” ou “avançado”, então me perdoem se este for um erro e por qualquer outro erro que eu tenha cometido.
Seguinte estou com um problema que para mim é no mínimo estranho…
Eu tenho uma interface, uma classe que implementa essa interface e outras 2 classes que executam algumas ações.
O método ?getNomeClasse()? que é herdado da interface ?Serializavel? e implementado pela classe ?EnviaString? retorna uma String.
Que deveria ser igual a String propriamente dita só que diz que são diferentes, mesmo eu copiando a string e colando lá:
A saída 1 é executada dentro do método ?executar? da classe ?FrmForm?
A saída 2 é executada dentro do método ?Executar(Serializavel _objeto)? da classe ?SocketObjetoForm?
E um diz que as Strings são iguais e o outro diz que as string são diferentes.
Mas eu simplesmente passo o objeto de uma classe para outro pode ser porque as classes estão em .jars diferentes?
Espero que alguém possa me ajudar.
[/i]
Códigos:
Saída do console:
1 - Nome: Serializados.objetos.EnviaString Diferença:0
2 - Nome: Serializados.objetos.EnviaString Diferença:13
Eu tenho uma interface:
package cmp.conexao.objeto;
public interface Serializavel {
public String getNomeClasse();
E tenho uma classe que implementa ela:
package serializados.objetos;
public class EnviaString implements Serializavel{
public String getNomeClasse() {
return "serializados.objetos.EnviaString";
}
}
Tenho uma classe que cria uma instancia de EnviaString:
package codigos.forms;
public class FrmForm{
private void executar(){
String endereco = "http://meuendereco.com.br?;
try {
EnviaString objeto = new EnviaString(txt.getString());
System.out.println("1 - Nome:" + objeto.getNomeClasse() + " Diferença:" + objeto.getNomeClasse().compareTo("serializados.objetos.EnviaString"));
EnviaString objeto = (EnviaString) SocketObjetoForm.Executar(objeto);
} catch (Exception ex) {
Log.escreveErro("FrmForm.executar", ex);
}
}
}
E tenho o SocketObjetoForm que executa algo que não vem ao caso:
package cmp.conexao.objeto;
public class SocketObjetoForm{
public static Serializavel Executar(Serializavel _objeto) {
System.out.println("2 - Nome:" + _objeto.getNomeClasse() + " Diferença:" + objeto.getNomeClasse().compareTo("serializados.objetos.EnviaString"));
}
Saída do console:
1 - Nome: Serializados.objetos.EnviaString Diferença:0
2 - Nome: Serializados.objetos.EnviaString Diferença:13
Agradeço
Ricoldi