Problema com Map<Long, Boolean>

Oi pessoal,

Seguinte, estou usando JSF e PrimeFaces, e eu estou tentando criar no ‘dataTable’ uma coluna com checkboxes para que o usuário selecione os registros, e clique em Deletar, para deletar os registros selecionados.

Pra isso, fiz da seguinte forma, criei um Map no meu ManagedBean:

E fiz o bind com o checkbox em uma coluna do meu dataTable dessa forma:

Dai quando se clicar em deletar executo o seguinte método:

public void deletar(){
	DAO<Pessoa> pessoaDao = new DAO<Pessoa>(Pessoa.class);
	
	for (Pessoa pessoa : pessoas) {
		if (selecionadas.get(pessoa.getId()))
			pessoaDao.remove(pessoa);
	}
}

Dai é aí que a porca torce o rabo, a validação “if (selecionadas.get(pessoa.getId()))” esta me retornando a exceção abaixo:

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean

Mas não entendi o motivo, porque se o Value do meu Map é Boolean, porque não consigo utilizar este valor para fazer essa validação?

Voce esta tentando passa uma String pra um booolean.

Como o Value do meu Map é Boolean, porque tenta passar uma String para Boolean?

O erro diz String nao pode ser convertido pra boolean…

Bom dia,

Utilize o “selecionadas.containsKey(pessoa.getId())”

Obrigado campelo.