[RESOLVIDO] Como usar list corretamente Para banco de dados

estou tentando retornar uma tabela que esta em um banco de dados usando List e arraylist mas erro persiste na hora de declara meu objeto do tipo List estou usando o ecllipse vou mostra o código e explicar melhor

public List <Casa> listarTabela() {
		Connection conexao = DBConnection.openConnection();
		PreparedStatement  sql;
		ResultSet rs;
		List <Casa> casas = new ArrayList<>();
		
		try {
			sql= conexao.prepareStatement("SELECT * FROM casa");
			rs = sql.executeQuery();
			while(rs.next()) {
				Casa casa = new Casa();
				casa.setId(rs.getInt("id"));
				casa.setEndereco(rs.getString("endereco"));
				casa.setNumero(rs.getInt("numero"));
				casa.setAluguel(rs.getFloat("aluguel"));
				casas.add(casa);
				}
			JOptionPane.showMessageDialog(null,"listado com sucesso");
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null,"deu merda");
		}finally {
			DBConnection.closeConnection(conexao);
		}
		
	}

os erros estão nas seguintes linhas

public List <Casa> listarTabela();

e

List <Casa> casas = new ArrayList<>();

o eclipse diz que não posso ultilizar a Clase Casa como parametro
ela é a classe onde ficam os Getters e setters dos meus atributos e ela está em outro pacote

Antes de mais nada, certifique-se que os imports estão corretos

import java.util.ArrayList;
import java.util.List;

Além disso, ao declarar a tua lista, faça assim

List<Casa> casas = new ArrayList<>(); // Operador diamante <> só pode ser usado no java 7 ou superior, ok?

eu declarei desta forma mas por algum motivo o qual desconheço oque esta entre <> some quando posto o código aqui

Faz assim, coloca o código, seleciona ele todo, depois clica no botão </> que tem acima do editor

Todo método que tem a declaração de tipo de retorno, deve, obrigatoriamente, retornar:

  • Um objeto de uma classe do tipo definido
  • Um objeto de uma sub classe do tipo definido
  • null

Você não tem nenhum return em teu método.

Das duas uma, ou você muda isso

para isso

public void listarTabela() {

Ou você insere, antes do último fechamento de chaves, o seguinte código

return casas;

este é o erro que ela está retornando

type list is not generic it cannot be parameterized with arguments

lista de tipos não é genérica, não pode ser parametrizada com argumentos

Já fez isso???

já verifiquei e fiz algumas alterações, a única duvida é se o resultado será o mesmo

        public ArrayList<Casa> listarTabela() {
		Connection conexao = DBConnection.openConnection();
		PreparedStatement  sql;
		ResultSet rs;
		ArrayList<Casa> casas = new ArrayList<>();
		
		try {
			sql= conexao.prepareStatement("SELECT * FROM casa");
			rs = sql.executeQuery();
			while(rs.next()) {
				Casa casa = new Casa();
				casa.setId(rs.getInt("id"));
				casa.setEndereco(rs.getString("endereco"));
				casa.setNumero(rs.getInt("numero"));
				casa.setAluguel(rs.getFloat("aluguel"));
				casas.add(casa);
				}
			JOptionPane.showMessageDialog(null,"listado com sucesso");
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null,"deu merda");
		}finally {
			DBConnection.closeConnection(conexao);
		}
		return casas;
	}

Como assim, resultado será o mesmo?

desculpa a demora em responder o mesmo resultado seria listar o dados do banco de dados da mesma forma que ultilizando List ao inves do ArrayList, mas funcionou da mesma forma que eu queria, porém agora estou com uma pequena dúvida este metodo aqui eu ultilizo para mostrar em uma Jtable os dados vindos do banco de dados

    public void listarTabelas() {
		
		DefaultTableModel modelo = (DefaultTableModel) tbListarCasas.getModel();
		CasaCrud casa = new CasaCrud();
		
	
			for (Casa c: casa.listarTabela()) {
				
				modelo.addRow(new Object[] {
				c.getId(),
				c.getEndereco(),
				c.getNumero(),
				c.getAluguel(),
				});
			}
		} 

e eu estou com um problema toda vez que eu clico no atualizar ele não sobrepôes(Atualiza) oque está na Jtable mas repete em baixo novamente a mesma coisa eu gostaria que ao invés disso atualizar a mesma ou seja apagar o que foi mostrado a primeira vez mostra uma nova tipo um refresh

consegui arrumar fiz este metodo e chamei ele o evento do botão listar

public void removerTabelas(){
		DefaultTableModel modelo = (DefaultTableModel) tbListarCasas.getModel();
		for(int i=0; i < modelo.getRowCount(); i++ ) {
			modelo.setRowCount(i);
		}
			
	}