//Classe Empresa
import javax.swing.JOptionPane;
public class Empresa {
private String nome;
private String cnpj;
private Funcionario[] funcionario = new Funcionario[2];
private int posicaoFunc;
public Empresa() {
}
public void adiciona (Funcionario func){
funcionario[posicaoFunc] = func;
posicaoFunc ++;
}
public void mostraFuncionario(){
for(int i = 0; i < this.funcionario.length; i ++){
this.funcionario[i].mostraDadosFuncionario();
}}
public void contemFuncionario(Funcionario func){
for(int aux = 0; aux < this.funcionario.length; aux++ ){
if(this.funcionario[aux] == func);
JOptionPane.showMessageDialog(null,"Este funcionário já está cadastrado !");
}
}
}
//Classe Principal
import javax.swing.JOptionPane;
public class TestaEmpresa {
public static void main(String[] args){
Empresa empresa = new Empresa();
for(int posicao = 0; posicao < 2; posicao ++){
Funcionario func = new Funcionario();
empresa.adiciona(func);
}
empresa.mostraFuncionario();
empresa.contemFuncionario(JOptionPane.showInputDialog(null, "Qual o nome do funcionario que voce deseja consultar?"));
}
}
Object to String[RESOLVIDO]
5 Respostas
Cero…
provavelmente você esta querendo fazer ispo para usar o metodo equals(Object obj) da String…
isso não é uma boa pratica…
humm, vamo la…
Se entendi bem, vc quer receber o nome do funcionario e ver se há um funcionario com este nome no array…
Bom…
o que vc pode fazer é o seguinte:
Receber uma String no seu metodo…
e a cada iteração do for pegar o nome do funcionario e comparar com esta String…
agora se você quer receber uma instancia de funcionario mesmo para comparação…
Recomendo vc pesquisar sobre os metodos equals e hash code…
da classe Object e como esses podem ser reescritos…
Qualquer duvida estou a disposição 
O correto é você localizar o funcionário por nome:
public Funcionario acharFuncionarioPorNome (String nome) {
for (int i = 0; i < funcionario.length; ++i) {
if (funcionario[i].nome.equals (nome)) {
// Achou
return funcionario;
}
}
// Não achou
return null;
}
Note que um Funcionario não é o seu nome 
Isto feito, você chama esse “acharFuncionarioPorNome” e então verifica se o resultado é null (se for, ele não achou o funcionario) ou se não é null (nesse caso, é uma referência para o funcionario achado).
Muito Obrigado amigos por se prontificarem em me ajudar, esse fórum tem pessoas incríveis que sempre se dispõem a ajudar os que tem menos conhecimento
Não seria assim?
return funcionario[i];
Ao meu entender é pra retornar o funcionario e não todos os funcionários.
Se escrevi besteira favor ignorar 
Não seria assim?return funcionario[i];Ao meu entender é pra retornar o funcionario e não todos os funcionários.
Se escrevi besteira favor ignorar :D
Você está certo. É que eu acabei me deixando levar pelo nome do array (meu costume é pôr os nomes de variáveis que representam coleções no plural, e então não enxerguei que “funcionario” era uma coleção de funcionários, não um único funcionário :oops: