[英]Java, error no suitable method found for add()
我需要有關Java問題的幫助,當我編譯它時出現錯誤,並且我已經在其他帖子中查找了,無法解決他們是否可以幫助我,我將非常感激。
碼
import javax.swing.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
public class Sugestao{
private int idSugestao;
private String sugestao;
private ArrayList<JTextArea> guardaSugestao;
public Sugestao(){
guardaSugestao = new ArrayList<>();
}
public Sugestao(int idSugestao){
this.idSugestao = idSugestao;
guardaSugestao = new ArrayList<>();
}
public Sugestao(int idSugestao, String sugestao){
this.idSugestao = idSugestao;
this.sugestao = sugestao;
guardaSugestao = new ArrayList<>();
}
public int getIdSugestao(){
return idSugestao;
}
public String getSugestao(){
return sugestao;
}
public ArrayList<JTextArea> guardaSugestao(){
return guardaSugestao;
}
public void setIdSugestao(int idSugestao){
this.idSugestao = idSugestao;
}
public void setSugestao(String sugestao){
this.sugestao = sugestao;
}
public void setGuardaSugestao(ArrayList<JTextArea> guardaSugestao){
this.guardaSugestao = guardaSugestao;
}
public void adicionarSugestao(JTextArea jTextArea){
guardaSugestao.add(jTextArea);
}
public ArrayList<JTextArea> carregaSugestao(Connection conn){
String sqlSelect = "select id, sugestao from tabelaTeste where id_sugestao = ?";
ArrayList<JTextArea> listaSugestao = new ArrayList<>();
try(PreparedStatement stm = conn.prepareStatement(sqlSelect);){
stm.setInt(1, getIdSugestao());
try(ResultSet rs = stm.executeQuery();){
while(rs.next()){
Sugestao s = new Sugestao();
s.setIdSugestao(rs.getInt("id_sugestao"));
s.setSugestao(rs.getString("sugestao"));
listaSugestao.add(s); // error
}
}
catch(Exception e){
e.printStackTrace();
}
catch(SQLException e1){
System.out.print(e1.getStackTrace());
}
return listaSugestao;
}
}
public String toString() {
return "Sugestao [id=" + idSugestao + ", sugestao :" + sugestao + "]";
}
}
這是出現的錯誤,我不知道如何解決。
error: no suitable method found for add(Sugestao)
由於您的listaSugestao
聲明而出現錯誤。 它是JTextArea
類型的ArrayList,它僅接受JTextArea
對象,並且您嘗試向其添加Sugestao
對象。 您需要將ArrayList聲明更改為Sugestao
類型的ArrayList。
更改此行:
ArrayList<JTextArea> listaSugestao = new ArrayList<>();
對此:
ArrayList<Sugestao> listaSugestao = new ArrayList<>();
在當前代碼中,您的arraylist采用JTextArea
類型,因為您已將其聲明為ArrayList<JTextArea> guardaSugestao;
因此,需要將其更改為
ArrayList<Sugestao> guardaSugestao;
以便將Sugestao
類型納入列表。
另外,確保你的方法setGuardaSugestao()
guardaSugestao()
adicionarSugestao()
被相應地改變接受ArrayList<Sugestao>
listaSugestao
需要類型為JTextArea
元素。 但是在listaSugestao.add(s);
您的變量s
是Sugestao
類型。
簡單地的類型而改變ArrayList<JTextArea>
到ArrayList<Sugestao>
並且還從方法定義public ArrayList<JTextArea> carregaSugestao(Connection conn)
到public ArrayList<Sugestao> carregaSugestao(Connection conn)
和它應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.