Return com dois objetos

Tenho uma busca que é feita em uma classe DAO, ela deveria retornar dois MODEL um de cada arquivo, tendo dados relacionados. Por enquanto eu estou usando ela com o retorno de um objeto só mas qual a sintaxe para que ela retorne dois valores e como o outro método (que recebe) deve estar codificado? Tem um método CONTROLLER também.

Veja como está o return:
return listaFornecedores;

Mas eu preciso que ela retorne dois objetos, assim:
return listaFornecedores, listaModelCadForProduto;

E a linha que recebe está assim:
listaFornecedores = cCFProduto.getListaFornecedorProdController(tfId_produto.getText());

Esta linha que recebe deve ficar de que forma para receber dois objetos?
Peço que desconsidere os absurdos, se tiver, pois estou aprendendo a programar Java.

Atenciosamente,
Ronaldo

Dessa forma não dá. O que vc pode fazer é criar outra classe que possui as duas listas. Algo como:

public class Resposta {
    private List<Fornecedor> listaFornecedores;
    private List<ModelCad> listaModelCadForProduto;
    public Resposta(List<Fornecedor> listaFornecedores, List<ModelCad> listaModelCadForProduto) {
        this.listaFornecedores = listaFornecedores;
        this.listaModelCadForProduto = listaModelCadForProduto;
    }
    // getters
}

Aí o método retorna esse novo objeto, contendo as duas listas:

return new Resposta(listaFornecedores, listaModelCadForProduto);

E quem chamar o método:

Resposta resposta = cCFProduto.getListaFornecedorProdController(tfId_produto.getText());
listaFornecedores = resposta.getListFornecedores();
etc...

Claro que você deve mudar o nome da classe Resposta para algo que faça sentido…

1 curtida