Passando um objeto como parâmetro

4 respostas
T

Pessoal, eu estou com uma dúvida…é o seguinte, eu tenho este método na classe Agenda:

public static ArrayList <Entity> set_concepts = new ArrayList <Entity>();  
      public void addConcept (Entity concept) {  
      
            set_concepts.add(concept);  
      
        }

Este parâmetro de entrada, é da classe Entity, que possui os atributos:

public static String name;  
    boolean instance;  
    Entity super_class ;

e na hora de fazer a chamada deste método:

Agenda conceito = new Agenda();  
        Scanner entrada = new Scanner(System.in);  
  
        System.out.println("Informe o conceito que deseja inserir na agenda:");  
        String conceito_entrada=entrada.next();  
  
        conceito.addConcept(conceito_entrada);

Eu tenho que ler um atributo, e passar ele como parametro para o método, só que o atributo que li, é uma String, e o método recebe um objeto Entity, e o vetor que estou tentando adicionar a String, é um vetor da classe Entity, por isso não aceita a String… como faço pra converter ou algo do tipo, essa String, pra eu poder inserir no vetor?

4 Respostas

Danillo_Moreno

Boa tarde!

Acho que sua classe Entity deveria ter um contrutor que recebe uma String como parametro, após ler a string com o comando String conceito_entrada=entrada.next(); você chama sua classe passado essa string como parametro.

Espero ter ajudado…

T

Valeu Danilo,

mas é aí que está o problema, eu estou lendo uma string pra passar como parametro, mas nao pode ser, tenho que passar um objeto Entity como parametro…e é isso que nao estou conseguindo.

matheuslmota

thiagotedrus:
Valeu Danilo,

mas é aí que está o problema, eu estou lendo uma string pra passar como parametro, mas nao pode ser, tenho que passar um objeto Entity como parametro…e é isso que nao estou conseguindo.

Ele quis dizer que você fizesse assim:

public Entity(String _name) { name = _name; }

Adicione esse construtor à sua classe Entitty. No código que cria esse objeto, você deve proceder da seguinte forma:

Agenda conceito = new Agenda();  
        Scanner entrada = new Scanner(System.in);  
  
        System.out.println("Informe o conceito que deseja inserir na agenda:");  
        String conceito_entrada=entrada.next();  
        Entity entity = new Entity(conceito_entrada);
        conceito.addConcept(entity);

Se você precisar acessar o atributo name, basta chamar

entity.name

E só pra constar, remova o modificador static do atributo name da sua classe Entity. Deixe a classe assim:

public String name; boolean instance; Entity super_class ;

T

Valeu galera…
agora entendi e deu certo
obrigadão!!!

Criado 18 de setembro de 2011
Ultima resposta 18 de set. de 2011
Respostas 4
Participantes 3