第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 添加到 ArrayList<String> 然后轉(zhuǎn)換為 Object[][]

Java 添加到 ArrayList<String> 然后轉(zhuǎn)換為 Object[][]

開滿天機 2022-05-21 17:23:29
Java新手,所以這里是:我想通過這樣做來獲取我填充的arrayList:ar.add(rs.getString(y));這會產(chǎn)生這樣的東西:值1,值2,值3,...并像這樣返回它:return (Object[][]) ar.toArray();orString[][] res = new String[ar.size()][];return ar.toArray(res);盡管這似乎只是將Null、Null、Null全部放在其中。當它通過ar.add(...) 填充時,我確保它確實有數(shù)據(jù)(并且確實有)。所有這些都是為了讓我可以創(chuàng)建一個表:TableModel model = new EditableTableModel(columnTitles, dataEntries);dataEntries是它需要的Object[][] 。原始的dataEntries 代碼是: Object[][] dataEntries = {     { "value1", "value2", "value3", "value4", "value5", "value6", "value7" },     { "value1", "value2", "value3", "value4", "value5", "value6", "value7" },     etc... };第一次測試時效果很好。這些值按應(yīng)有的方式顯示在jTable中。這是我的完整代碼:private void initialize() throws Exception {    [more code here]    Object[][] dataEntries = reloadData();    TableModel model = new EditableTableModel(columnTitles, dataEntries);    table = new JTable(model);    [more code here]}@SuppressWarnings("unchecked")private Object[][] reloadData() throws Exception {          SQLiteJDBCLoader.initialize();    ArrayList<String> ar = new ArrayList<String>();    SQLiteDataSource dataSource = new SQLiteDataSource();    dataSource.setUrl(dbPath);    try {        ResultSet rs = dataSource                      .getConnection()                      .createStatement()                      .executeQuery("Select "                                    + "data_script, "                                    + "data_status, "                                    + "data_errors, "                                    + "data_tester, "                                    + "data_rundate, "                                    + "data_tools, "                                    + "ID "                                  + "FROM allData");        int row = 5;        int col = 6;        while (rs.next()) {            for (int x = 1; x < row; x++) {                for (int y = 1; y < col; y++) {                    ar.add(rs.getString(y));                }            }        }                } 我可能做錯了什么?
查看完整描述

2 回答

?
慕的地10843

TA貢獻1785條經(jīng)驗 獲得超8個贊

作為好的(恕我直言)一般建議,除非絕對必須,否則不要使用數(shù)組;始終使用集合。數(shù)組是“高維護”;不方便,不適合泛型。


改變你的方法來返回一個List,List你的生活會更輕松。就像是:


public List<List<String>> getTable() {

    List<List<String>> result = new ArrayList<>();

    for (<every row>) {

        List<String> row = new ArrayList<>();

        // populate row

        result.add(row);

    }

    return result;

}


查看完整回答
反對 回復(fù) 2022-05-21
?
慕碼人2483693

TA貢獻1860條經(jīng)驗 獲得超9個贊

ArrayList.toArray() 返回 Object[]。雖然您期待二維結(jié)果,但您創(chuàng)建的 ArrayList 是一維的。嘗試使用類似的數(shù)據(jù)結(jié)構(gòu)


List<List> or List<Object[]> 

一個例子應(yīng)該是這樣的:


    List<Object[]> arr=new ArrayList<Object[]>();


       while (rs.next()) {

         Object[] temp=new Object[col];

          for (int i = 0; i < col; i++) {


               String columnValue = rs.getString(i);

               temp[i]=columnValue;

           }

       arr.add(temp);


          }    

 return arr.toArray();


查看完整回答
反對 回復(fù) 2022-05-21
  • 2 回答
  • 0 關(guān)注
  • 342 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號