扩展字符串数组

乌韦·克劳斯(Uwe Krause)

String定义了一个数组,并从表中读取了一些值:

String[][] ssRet = null;
ssRet = new String[tblRoDe.getNumRows()+1][2];
ssRet[0][0] = "AGR_NAME";
ssRet[0][1] = "TEXT";
for(int j=0; j<tblRoDe.getNumRows(); j++ )
{
    tblRoDe.setRow( j );
    ssRet[j+1][0] = tblRoDe.getString( "AGR_NAME"   );
    ssRet[j+1][1] = tblRoDe.getString( "TEXT"       );
    logger.debug("------- Start Entry #" + (j+1) + " -------");
    logger.debug(ssRet[0][0] + ": " + ssRet[j+1][0]);
    logger.debug(ssRet[0][1] + ": " + ssRet[j+1][1]);
    logger.debug("------- End Entry #" + (j+1) + " -------");
}

我现在的任务是:根据函数参数,我将不得不从另一个表中读取值到相同的字符串数组中(附加此内容)。仍然只有两列,但是我必须添加更多行。

我该如何实现?

费利克斯·格伯

如果您有不同数量的行,并且无法确切地说出将要多少行,则应使用ArrayList而不是固定大小的数组。您可以向ArrayList添加任意多的值。问题是,一旦创建数组,就无法调整其大小。

您可以将自己类型的对象(以处理数据)保存到此列表中,如下所示:

    public class TableRow {

    private String agr_name;
    private String text;
    private int entryNr;

    public TableRow(String agr_name, String text, int entryNr) {
        this.agr_name = agr_name;
        this.text = text;
        this.entryNr = entryNr;
    }

    public String getAgr_name() {
        return agr_name;
    }

    public void setAgr_name(String agr_name) {
        this.agr_name = agr_name;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public int getEntryNr() {
        return entryNr;
    }

    public void setEntryNr(int entryNr) {
        this.entryNr = entryNr;
    }

}

这在您的代码中应如下所示:

ArrayList<TableRow> allRows = new ArrayList<>();
        for (int j = 0; j < tblRoDe.getNumRows(); j++) {
            tblRoDe.setRow(j);
            TableRow trow = new TableRow(tblRoDe.getString("AGR_NAME"), tblRoDe.getString("TEXT"), j);
            allRows.add(trow);
            logger.debug("------- Start Entry #" + trow.getEntryNr() + " -------");
            logger.debug("AGR_Name: " + trow.getAgr_name());
            logger.debug("TEXT: " + trow.getText());
            logger.debug("------- End Entry #" + trow.getEntryNr() + " -------");
        }

希望对您有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章