Problema codificação MySQL + Java UTF8

Bom Pessoal, estou com o seguinte problema. Ao resgatar uma lista de estados do banco de Dados MySQL Charset UTF- Unicode e Collation: utf8_general_ci. Os dados acentuados vem deformado. Em PHP existe as funções utf8_encode() e utf8(decode) para essa conversão. Sei que em Java também tem. Mas como aplicar corretamente no código abaixo?
Por favor postem respostar práticas. Obrigado.

Classe onde pego os valores do MySQL e jogo Array

   //metodo para selecao no banco com ResultSet
    public List<Estados> getLista() throws SQLException{
        String sql = "select * from estados";        
        PreparedStatement stmt = this.conexao.prepareStatement(sql);        
        ResultSet rs = stmt.executeQuery();
        
        //cria objeto do tipo lista
        List<Estados> minhaLista = new ArrayList<Estados>();
        
        while(rs.next()){
            Estados e1 = new Estados();          
             e1.setCoduf(rs.getString("coduf"));
            e1.setDescricao(rs.getString("descricao"));
            minhaLista.add(e1);
        }
        
        rs.close();
        stmt.close();
        return minhaLista;
    }

onde chamo o combobox

    public formPessoas() throws SQLException {
        Connection conexao = CriaConexao.getConexao();          
        Consulta con1 = new Consulta();   
        List<Estados> lisestado = con1.getLista();
        initComponents();  
        //Limpa o Combobox e adiciona os itens do Banco
        jCombouf.removeAllItems();
         for (Estados estados : lisestado) { 
//o getDescricao() da linha abaixo é onde pega os dados do MySQL      
            jCombouf.addItem(estados.getDescricao());                
        }