먼저
public class OptionList {
private Connection conn;
private List<String> type_list = new ArrayList<>();
private List<String> partid_list = new ArrayList<>();
public OptionList() {
//conn = null;
//type_list = null;
//partid_list = null;
}
public void listin_db() throws Exception, SQLException {
JDBC ora = new JDBC();
//1. open/get connection
ora.openConnection();
conn = ora.getConn();
//2. Execute query
String stmnt = " select distinct PARTID, NAME "
+ " from INVENTORY tblA "
+ " inner join("
+ " select distinct part_no "
+ " from Status)tblB on tblA.Partid = tblB.part_no ";
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery(stmnt);
while (rs.next()) {
type_list.add((String) rs.getString("NAME"));
partid_list.add((String) rs.getString("PARTID"));
}
conn.close();
statement.close();
ora.closeConnection();
}
public List<String> getpartid_List() {
return partid_list;
}
public List<String> getType_List() {
return type_list;
}
public String test() {
return "HelooWourldd!";
}
는}, 당신은 배열 구성원을 초기화
public OptionList() {
//conn = null;
//type_list = null;
//partid_list = null;
}
그런 다음 문자열을 추가하려고 시도하면 listin_db()
에가 표시됩니다..
while (rs.next()) {
type_list.add((String) rs.getString("NAME"));
partid_list.add((String) rs.getString("PARTID"));
}
당신은 (지금처럼)를 선언 할 때를 초기화하거나 생성자,하지만 당신은 null로 초기화 한 다음에 액세스하려고 할 수 있어야 하나. 당신이 생성자에서 null로 TYPE_LIST 설정 때문에
예 .. 생성자는 인스턴스 변수로 미리 초기화하고 생성자에서 변수를 초기화하지 않는 것처럼 보입니다.이 중 더 명확합니다. 뭐하는거야? – user2300035