java return String[] in method,String[].length 不正确

金星

我想要的是将数据插入数组 String[],然后打印数组值。返回的 String[] 类型方法是

public String[] getRequirementDocIDofProject(String testprojectName)
        throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException {
    String req_doc_ids[] = null;
    String str_sqlQuery = "select * from req_specs INNER JOIN nodes_hierarchy nh " + 
            "on nh.id=req_specs.testproject_id  " + 
            "INNER JOIN requirements reqs " + 
            "on req_specs.id =reqs.srs_id where nh.name='" + testprojectName + "'";
    int count = 0;
    int n = 0;
    initDB();
    resultSet = statement.executeQuery(str_sqlQuery);
    while (resultSet.next()){
        count = Integer.parseInt(resultSet.getString(1));
    }
    req_doc_ids = new String[count];

    resultSet = statement.executeQuery(str_sqlQuery);
    while (resultSet.next()) {
        req_doc_ids[n] = resultSet.getString("req_doc_id");
        System.out.println("REQID=" + req_doc_ids[n]);
        n++;
    }
    close();
    System.out.println("n==" + n);
    return req_doc_ids;
}

调用方法代码是

DBConnection dbcon = new DBConnection();
String req_doc_ids[] = dbcon.getRequirementDocIDofProject("XXXX");
System.out.println(req_doc_ids.length);

控制台中的打印消息是
REQID=TECH-6104
REQID=TECH-6686
REQID=TECH-5391
REQID=TECH-5965
REQID=TECH-6530
REQID=TECH-6729
REQID=TECH-7082
REQID=TECH-7107
REQID=TECH- 7184
n==9
7166

为什么 req_doc_ids.length 的值是 7166 而不是 9

安迪·特纳

7166 来自结果集的第 1 列 - 它是最后一行中的值。

while(resultSet.next()){
    count=Integer.parseInt(resultSet.getString(1));
}

相反,您的意思可能是:

while(resultSet.next()){
    count++;
}

请注意,这是创建数组的一种不必要的低效方法。使用 aList代替;或者,直接使用结果集API上的方法获取行数。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的ArrayList <String>排序不正确?

来自分类Dev

String.Split返回不正确的数组

来自分类Dev

转换为String(“ G29”)时值不正确

来自分类Dev

C ++ std :: string初始化的不正确行为

来自分类Dev

string.Format中的格式不正确

来自分类Dev

转换为String(“ G29”)时值不正确

来自分类Dev

分配给String属性的文本存储不正确

来自分类Dev

C ++ std :: string初始化的不正确行为

来自分类Dev

从String解析浮点值不正确,双重效果,为什么?

来自分类Dev

Int.Parse(String.Split())返回“输入字符串的格式不正确”错误

来自分类Dev

将String转换为StringEntity时,Android值不正确

来自分类Dev

string.Format异常输入字符串的格式不正确

来自分类Dev

当 count 与 string_agg 一起使用时,postgres 中的计数不正确?

来自分类Dev

小程序输出不正确。为什么这个 String 变量没有做我想要的?

来自分类Dev

Java:双打显示不正确

来自分类Dev

Java Maps的hashCode不正确?

来自分类Dev

Java多态处理:输出不正确?

来自分类Dev

java打印:纸张尺寸不正确

来自分类Dev

Java显示不正确的年份

来自分类Dev

Java的嵌套的ArrayList不正确添加

来自分类Dev

Java Swing显示不正确

来自分类Dev

Java方法传回不正确的值

来自分类Dev

JAVA_HOME定义不正确

来自分类Dev

Java路径中的斜杠不正确

来自分类Dev

Java中同步输出不正确

来自分类Dev

mysql char_length返回不正确的结果

来自分类Dev

mysql char_length返回不正确的结果

来自分类Dev

NSString对象的length属性的值不正确

来自分类Dev

使用 .length 返回不正确的元素数量